La fonction MsgBox dans Excel VBA peut renvoyer un résultat alors qu’une simple MsgBox ne peut pas.
Exemple:
Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:
1. Tout d’abord, nous déclarons une variable appelée reponse de type Integer.
Dim reponse As Integer
2. Nous utilisons la fonction MsgBox pour initialiser la variable reponse avec l’entrée de l’utilisateur.
La fonction MsgBox, lorsqu’elle utilise des parenthèses, a trois arguments. La première partie est utilisée pour le message dans la boîte de message. Utilisez la deuxième partie pour spécifier les boutons et icônes que vous souhaitez voir apparaître dans la boîte de message. La troisième partie s’affiche dans la barre de titre de la boîte de message.
reponse= MsgBox ("Êtes-vous sûr de vouloir vider la feuille?", vbYesNo + vbQuestion, "vider la Feuille")
Remarque: Placez votre curseur sur vbYesNo dans Visual Basic Editor et cliquez sur F1 pour voir quels autres boutons et icônes vous pouvez utiliser. Au lieu des constantes vbYesNo et vbQuestion, vous pouvez également utiliser les valeurs correspondantes 4 et 32.
3. Si l’utilisateur clique sur le bouton Oui, Excel VBA vide la feuille. Si l’utilisateur clique sur le bouton Non, rien ne se produit. Ajoutez les lignes de code suivantes pour y parvenir.
if reponse = vbYes then Cells.ClearContents Else 'ne fais rien End if
4. Cliquez sur le bouton de commande sur la feuille.
5. Cliquez sur Oui.
Résultat:
Code final:
Sub ViderCellules() Dim reponse As Integer reponse = MsgBox("Êtes-vous sûr de vouloir vider la feuille?", vbYesNo + vbQuestion, "Feuille vide") If reponse = vbYes Then Cells.ClearContents Else 'ne fais rien End If End Sub