Académique Documents
Professionnel Documents
Culture Documents
php
Pour le moment, nous n'avons utilis la bote de dialogue MsgBox que pour afficher une information :
Sub effacer_B2()
Range("B2").ClearContents
MsgBox "Le contenu de B2 a t effac !"
End Sub
Aperu du code :
Nous allons maintenant crer une bote de dialogue qui va nous demander de confirmer la suppression avant d'effectuer les deux instructions. Voici les 3
arguments que nous allons renseigner :
Sub effacer_B2()
If MsgBox("Etes-vous certain de vouloir supprimer le contenu de B2 ?", vbYesNo, "Demande de confirmation") = vbYes Then
Range("B2").ClearContents
MsgBox "Le contenu de B2 a t effac !"
End If
End Sub
Aperu :
vbYesNo indique que les boutons de la bote de dialogue sont "Oui" et "Non", vbYes correspond au bouton "Oui" :
If MsgBox("Texte", vbYesNo, "Titre") = vbYes Then 'Si le bouton Oui est cliqu ...
1 of 4 16/10/2016 14:17
Cours VBA : les botes de dialogue http://www.excel-pratique.com/fr/vba/boites_de_dialogue.php
vbOKOnly 0
vbOKCancel 1
vbAbortRetryIgnore 2
vbYesNoCancel 3
vbYesNo 4
vbRetryCancel 5
vbCritical 16
vbQuestion 32
vbExclamation 48
vbInformation 64
Force l'utilisateur rpondre avant de poursuivre avec d'autres applications (bote de dialogue au
vbSystemModal 4096
premier plan)
Le deuxime argument de MsgBox peut prendre jusqu' une valeur de chaque tableau.
Par exemple, pour une bote de dialogue avec "Oui, Non, Annuler" + icne exclamation + bouton 2 par dfaut :
Aperu :
Les constantes peuvent tre remplaces par leur valeur respective, ces 3 lignes sont identiques :
vbOK 1
vbCancel 2
2 of 4 16/10/2016 14:17
Cours VBA : les botes de dialogue http://www.excel-pratique.com/fr/vba/boites_de_dialogue.php
vbAbort 3
vbRetry 4
vbIgnore 5
vbYes 6
vbNo 7
Voici l'exemple d'une MsgBox qui apparat en boucle tant que le bouton Oui n'est pas cliqu :
Sub petite_blague()
Do
If MsgBox("Aimez-vous le site Excel-Pratique ?", vbYesNo, "Sondage") = vbYes Then
Exit Do ' => Si rponse = Oui on sort de la boucle
End If
Loop While 1 = 1 ' => Boucle infinie
MsgBox ";-)"
End Sub
Pour aller la ligne, vous pouvez insrer le caractre "saut de ligne" avec la fonction Chr et le n10 correspondant ce caractre, exemple :
MsgBox "Exemple 1" & Chr(10) & "Exemple 2" & Chr(10) & Chr(10) & "Exemple 3"
Aperu :
L'InputBox demande l'utilisateur d'entrer une valeur depuis une bote de dialogue, exemple :
Sub exemple()
Dim resultat As String
resultat = InputBox("Texte ?", "Titre") 'La variable reoit la valeur entre dans l'InputBox
If resultat <> "" Then 'Si la valeur est diffrente de "" on affiche le rsultat
MsgBox resultat
End If
End Sub
Aperu :
Aperu :
3 of 4 16/10/2016 14:17
Cours VBA : les botes de dialogue http://www.excel-pratique.com/fr/vba/boites_de_dialogue.php
4 of 4 16/10/2016 14:17