VBA (Visual Basic for Applications) est un langage de programmation dans les applications Microsoft Office, telles qu’Excel, Word et PowerPoint. Grâce à VBA, les utilisateurs peuvent automatiser diverses tâches, améliorer l’efficacité et créer une expérience plus interactive. L’un des éléments importants de l’utilisation de VBA est sa capacité à communiquer avec les utilisateurs, que ce soit pour fournir des informations, demander des informations ou confirmer des actions avant d’exécuter le programme.
Les deux principales fonctionnalités qui prennent en charge cette interaction sont la boîte de message (MsgBox) et la zone de saisie (InputBox). MsgBox sert à afficher des messages ou à demander une confirmation aux utilisateurs, tandis qu’InputBox permet aux utilisateurs de saisir des données à utiliser dans le code VBA. Les deux sont particulièrement utiles dans diverses situations, telles que l’affichage d’avertissements avant la suppression de données, la demande aux utilisateurs de saisir des nombres dans des calculs automatisés ou l’affichage de rapports de résultats de macro-processus.

Par exemple, dans une application Excel, un analyste de données peut utiliser MsgBox pour fournir des avertissements avant d’exécuter des macros qui suppriment des données importantes. D’autre part, InputBox peut être utilisé pour demander aux utilisateurs de saisir certains paramètres, tels que le mois ou l’année du rapport à traiter. En comprenant et en optimisant l’utilisation de MsgBox et InputBox, les utilisateurs de VBA peuvent améliorer l’interactivité du programme et assurer une exécution de macro plus sûre et contrôlée.
Apprendre à connaître la boîte de message dans VBA
Message Box (MsgBox) est une fonctionnalité de VBA (Visual Basic for Applications) qui est utilisée pour afficher des messages aux utilisateurs sous la forme de boîtes de dialogue contextuelles. MsgBox est souvent utilisé pour fournir des informations, afficher des alertes, demander une confirmation avant d’exécuter un processus ou notifier le résultat d’une commande dans une macro.
Lorsqu’un MsgBox s’affiche, l’utilisateur doit appuyer sur l’un des boutons disponibles avant que le programme puisse poursuivre son exécution. En fonction des besoins, MsgBox peut être configuré avec une variété de combinaisons de boutons et d’icônes pour améliorer l’efficacité de la communication au sein des applications VBA.
Syntaxe de base de MsgBox
La syntaxe de base pour l’affichage de Message Box en VBA est la suivante :
MsgBox “Ceci est un message de VBA ! »Le code ci-dessus affichera une fenêtre contextuelle avec le texte « Ceci est un message de VBA ! » et un bouton OK pour fermer le message.
Types de boutons dans MsgBox
MsgBox peut être configuré avec une variété de boutons pour fournir des options d’interaction aux utilisateurs. Voici quelques types de boutons couramment utilisés :
| Constant | Description |
| vbOKOnly | Affiche uniquement le bouton OK (par défaut). |
| vbOKCancel | Affiche OK et Cancel boutons. |
| vbYesNo | Affiche Yes et No boutons. |
| vbRetryCancel | Affiche Retry et Cancel boutons. |
| vbAbortRetryIgnore | Affiche les boutons Abort, Retry et Ignore. |
Exemples d’utilisation de MsgBox avec différents boutons :
MsgBox “Voulez-vous continuer ? », vbYesNo, « Confirmer »Le code ci-dessus affichera une MsgBox avec les boutons Yes et No, ainsi que le titre « Confirmer » sur la fenêtre contextuelle.
Ajout d’icônes à MsgBox
En plus des boutons, MsgBox peut également afficher des icônes pour clarifier le type de message donné. Voici quelques icônes qui peuvent être utilisées :
| Constant | Icônes affichées |
| vbCritical | Icône d’avertissement (❌) |
| vbQuestion | Icône en forme de point d’interrogation (❓) |
| vbExclamation | Icône amusante (⚠️) |
| vbInformation | Icône d’information (i️) |
Exemples d’utilisation d’icônes dans MsgBox :
MsgBox “Les données saisies ne sont pas valides ! », vbExclamation, « Avertissement »Ce code s’affichera MsgBox avec une icône de point d’exclamation (⚠️, ) pour signaler un avertissement à l’utilisateur.
Capture des réponses des utilisateurs avec MsgBox à l’aide de If… Autre
Dans certains cas, nous devons capturer les préférences de l’utilisateur à partir de MsgBox pour déterminer l’étape suivante dans le code VBA. Cela peut être fait en stockant MsgBox résultats dans des variables et en utilisant If…Else pour traiter les réponses de l’utilisateur.
Exemples d’utilisation de MsgBox pour capturer les réponses des utilisateurs :
Dim response As Integer
response = MsgBox(“Are you sure you want to continue?”, vbYesNo + vbQuestion, “Confirm”)
If response = vbYes Then
MsgBox “You chose Yes!”, vbInformation, “Result”
Else
MsgBox “You chose No!”, vbExclamation, “Result”
End IfApprendre à connaître la zone de saisie dans VBA
Input Box (InputBox) est une fonctionnalité de VBA (Visual Basic for Applications) qui permet aux utilisateurs de saisir des données sous forme de texte ou de chiffres via une simple fenêtre de dialogue. InputBox est souvent utilisé pour demander des informations aux utilisateurs, telles que des noms, des numéros, des dates ou d’autres données requises dans le traitement VBA.
Syntaxe de base d’InputBox
La syntaxe de base pour l’affichage des InputBox en VBA est la suivante :
Dim userName As String
userName = InputBox(“Enter your name :”,”Input Data”)
MsgBox “Hello,” &userName “ !”Explication du code :
- InputBox affichera une boîte de dialogue avec le texte “Enter your name :”.
- Les données saisies par l’utilisateur seront stockées dans la variable userName.
- MsgBox affichera le message d’accueil « Bonjour, [nom saisi] ! »!– /wp:list-item –>
Spécification de la valeur par défaut dans l’InputBox
Vous pouvez définir la valeur par défaut dans InputBox pour fournir un exemple de l’entrée attendue.
Exemple de code avec des valeurs par défaut :
Dim city As String
city = InputBox(“Enter your city name :”“,”Input Data”,”Jakarta”)
MsgBox “You live in “ & city “ !”Explication:
- “Jakarta”“ apparaîtra comme texte par défaut dans le InputBox.
- Les utilisateurs peuvent modifier ou appuyer directement sur OK pour utiliser la valeur par défaut.
Validation des entrées à partir de l’InputBox pour s’assurer que les données d’entrée sont correctes
Étant donné que InputBox ne reçoit que des données saisies sous forme de texte, il est important de vérifier que les données saisies sont conformes aux attentes.
Exemple de validation des entrées pour qu’elles ne soient pas vides :
Dim userInput As String
userInput = InputBox(“Enter your email:”, “Input Email”)
If userInput = ““ Then
MsgBox “Input cannot be empty!”, vbExclamation, “Warning”
Else
MsgBox “The email you entered: “ & userInput, vbInformation, “Confirmation”
End IfExplication:
- Si l’utilisateur appuie sur OK sans renseigner les données, un avertissement apparaîtra.
- S’il y a une entrée valide, une confirmation apparaîtra avec les données saisies.
Un exemple de validation d’entrée n’accepte que les nombres :
Dim age As String
age = InputBox(“Enter your age:”, “Input Age”)
If IsNumeric(age) Then
MsgBox “Your age is “ & age & “ years.”, vbInformation, “Confirm”
Else
MsgBox “Please enter a valid number!”, vbCritical, “Error”
End IfExplication:
- IsNumeric() est utilisé pour vérifier si l’entrée est un nombre.
- S’il ne s’agit pas d’un numéro, un avertissement d’erreur apparaîtra.
Comparaison de MsgBox et InputBox : quand l’utiliser ?
Dans VBA (Visual Basic for Applications), Message Box (MsgBox) et Input Box (InputBox) sont utilisés pour interagir avec les utilisateurs, mais ils ont des différences dans leurs fonctions et la façon dont ils sont utilisés. MsgBox se concentre davantage sur la fourniture d’informations et l’obtention de réponses sous la forme de choix de boutons, tandis que InputBox est utilisé pour demander des commentaires directement aux utilisateurs.
Voici une comparaison entre MsgBox et InputBox en fonction de leurs principales caractéristiques :
| Caractéristique | Zone de message (MsgBox) | Zone de saisie (InputBox) |
| Fonctions principales | Affichez des messages et obtenez une réponse (Oui/Non/Annuler) | Demande d’entrée de la part des utilisateurs (texte/numéros) |
| Interaction avec l’utilisateur | Limité aux boutons disponibles | Peut accepter la saisie de texte ou de chiffres |
| Personnalisation | Vous pouvez ajouter des icônes et des titres | Peut afficher les valeurs par défaut |
| Exemples d’utilisation | Notifications, alertes, confirmation d’action | Formulaire de saisie, recherche, validation |
Quand utiliser MsgBox ?
Utilisez MsgBox lorsque vous souhaitez :
- Affiche des alertes ou des informations aux utilisateurs.
- Demandez une confirmation d’action avant d’exécuter le processus.
- Permet de choisir entre Yes/No, OK/Cancel ou d’autres boutons.
Quand utiliser InputBox ?
Utilisez InputBox lorsque vous souhaitez :
- Demande aux utilisateurs d’entrer du texte, des chiffres ou d’autres données nécessaires.
- Utilisez l’entrée utilisateur comme paramètre dans le processus VBA.
- Permet aux utilisateurs de remplir des formulaires ou d’effectuer des recherches.


