VBA : Comment créer une boîte de message avec des réponses oui/non
Vous pouvez utiliser la syntaxe suivante dans VBA pour créer une boîte de message permettant à un utilisateur de sélectionner Oui ou Non :
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox("Do you want to multiply cells A1 and B1?", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range("C1") = Range("A1") * Range("B1")
Else
MsgBox "No Multiplication was Performed"
End If
End Sub
Cette macro particulière crée une boîte de message qui demande à l’utilisateur s’il souhaite multiplier les cellules A1 et B1.
Si l’utilisateur clique sur « Oui », les deux cellules sont multipliées et le résultat est affiché dans la cellule C1.
Si l’utilisateur clique sur « Non », une nouvelle boîte de message apparaît lui indiquant qu’aucune multiplication n’a été effectuée.
Notez que l’instruction vbYesNo est ce qui insère les boutons « Oui » et « Non » sur lesquels l’utilisateur doit cliquer.
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple : Créer une boîte de message avec des réponses Oui/Non
Supposons que nous ayons les deux valeurs suivantes dans les cellules A1 et B1 de notre feuille Excel :
Supposons que nous souhaitions créer une macro qui affiche une boîte de message à l’utilisateur et lui demande s’il souhaite ou non multiplier les valeurs des cellules A1 et B1.
Nous pouvons créer la macro suivante pour ce faire :
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox("Do you want to multiply cells A1 and B1?", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range("C1") = Range("A1") * Range("B1")
Else
MsgBox "No Multiplication was Performed"
End If
End Sub
Lorsque nous exécutons cette macro, la boîte de message suivante apparaît :
Si nous cliquons sur Oui , alors la macro multipliera les valeurs dans les cellules A1 et B2 et affichera le résultat dans la cellule C1 :
Cependant, si nous cliquons sur Non , une nouvelle boîte de message apparaîtra :
La boîte de message nous indique qu’aucune multiplication n’a été effectuée puisque nous avons cliqué sur Non dans la boîte de message précédente.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment ajouter une nouvelle ligne à la boîte de message
VBA : Comment ajouter de nouvelles feuilles
VBA : Comment geler les volets