Windows
Scripts
VBScript
Créer une fenêtre pour afficher un message (MsgBox)
Pour : Windows
Nous allons voir comment créer une fenêtre pour afficher un message et y configurer des boutons du type "OK, Annuler, Abandonner, Réessayer, Ignorer, Oui, Non" et ajouter une icône "Critique, Question, Exclamation ou Information".
Sommaire
1- Syntaxe
2- Valeurs de retour
3- Retour et saut de ligne
4- Exemple
1- Syntaxe
MsgBox(Message [, Bouton(s) + Icône + Bouton_sélectionné_par_défaut] [, TitreFenêtre] )
Voici le détail des arguments:
Message : Chaîne de caractères représentant le texte de la boîte de dialogue.Bouton(s) : ConstanteValeurDescription vbOKOnly 0 Affiche uniquement le bouton OK. vbOKCancel 1 Affiche uniquement les boutons OK et Annuler. vbAbortRetryIgnore 2 Affiche uniquement les boutons Abandonner, Réessayer, et Ignorer. vbYesNoCancel 3 Affiche uniquement les boutons Oui, Non et Annuler. vbYesNo 4 Affiche uniquement les boutons Oui et Non. vbRetryCancel 5 Affiche uniquement les boutons Réessayer et Annuler.Icône : Argument pour afficher une icône : ConstanteValeur vbCritical 16 vbQuestion 32 vbExclamation48 vbInformation48Bouton_sélectionné_par_défaut : ConstanteValeurDescription vbDefaultButton1 0 Le premier bouton est sélectionné par défaut. vbDefaultButton2 256 Le deuxième bouton est sélectionné par défaut. vbDefaultButton3 512 Le troisième bouton est sélectionné par défaut. vbDefaultButton4 768 Le quatrième bouton est sélectionné par défaut. TitreFenetre Argument pour afficher un titre à la fenêtre.
2- Valeurs de retour
Le fait de cliquer sur un dès boutons (OK, Annuler, Abandonner, Réessayer, Ignorer, Oui et Non) va enregistrer une valeur spécifique propre à chaque boutons dans la variable définie.
Information !!! Dans notre exemple à la fin de la page, cette variable est enregistré sous "Reponse".
Et en fonction de la valeur enregistré dans la variable nous allons pouvoir éxecuter une action différente si par exemple la réponse était "Oui"(Donc valeur 6, voir ci-dessous) ou si la réponse était "Non"(Donc valeur 7, voir ci-dessous).
Voici les valeurs pour chaque boutons :
Constante Valeur DescriptionvbOK 1 OKvbCancel 2 AnnulervbAbort 3 AbandonnervbRetry 4 RéessayervbIgnore 5 IgnorervbYes 6 OuivbNo 7 Non
3- Retour et saut de ligne
Pour faire un retour à la ligne, il faut utiliser un caractère spécial et il en existe plusieurs (Chr(10) ; Chr(13) ; vbCr ; vbLf ; vbCrLf ; vbNewLine).
Nous on va utiliser le caractère spécial "Chr(10)" pour faire un retour à la ligne.
Exemple:
On peut voir que le code ci-dessous va afficher le texte sur une seule ligne dans la fenêtre:
MsgBox "Ligne 1!!! Ligne 2!!! Ligne 3!!!"
Maintenant on va faire le retour à la ligne en ajoutant le caratère "Chr(10)":
MsgBox "Ligne 1!!!" & Chr(10) & "Ligne 2!!!" & Chr(10) & "Ligne 3!!!"
Et pour sauter une ligne, il suffit de doubler le caratère "Chr(10)":
MsgBox "Ligne 1!!!" & Chr(10) & Chr(10) & "Ligne 2!!!" & Chr(10) & Chr(10) & "Ligne 3!!!"
4- Exemple
On va voir un exemple de fenêtre "MsgBox" avec les boutons "Oui, Non et Annuler".
Et pour vérifier le bon fonctionnement de chaque boutons, la réponse est enregistré dans la variable "Resultat" dont nous afficherons le contenu dans une autre fenêtre "MsgBox".
Voici à quoi ressemble la fenêtre du script VBS que nous allons analyser ainsi que les fenêtres "MsgBox" qui afficherons le résultat de chaque bouton.
Voici le contenu du script VBS de la capture d'écran ci-dessus.
Les explications du script sont indiqués en bout de chaque ligne.
Dim Message, Bouton, Titre, Reponse, Resultat'*** Déclaration des variableMessage = "Etes vous satisfait ?"'*** Message à afficherBouton = vbYesNoCancel + vbQuestion + vbDefaultButton2 '*** Pour définir les boutons et l'icôneTitre = "Test MsgBox"'*** Pour définir le titre de la fenêtreReponse = MsgBox(Message, Bouton, Titre)'*** Affichage de la fenêtreIf Reponse = "6" then'*** Traitement du bouton "Oui" Resultat = "La reponse est Oui"'*** Action que l'on souhaite réaliserElseif Reponse = "7" then'*** Traitement du bouton "Non" Resultat = "La reponse est Non"'*** Action que l'on souhaite réaliserElse'*** Traitement du bouton "Annuler" Resultat = "La reponse est Annuler"'*** Pour le dernier sinon(Else), si c'est pas le bouton "Oui" ou "Non", par supposition il ne reste plus que le bouton "Annuler".End ifMsgbox Resultat'*** Pour afficher le contenu de la variable "Resultat"
On peut aussi traiter le résultat du bouton avec "Select Case [Variable]":
Dim Message, Bouton, Titre, Reponse, Resultat'*** Déclaration des variableMessage = "Etes vous satisfait ?"'*** Message à afficherBouton = vbYesNoCancel + vbQuestion + vbDefaultButton2 '*** Pour définir les boutons et l'icôneTitre = "Test MsgBox"'*** Pour définir le titre de la fenêtreReponse = MsgBox(Message, Bouton, Titre)'*** Affichage de la fenêtreSelect Case Reponse'*** Traitement de la valeur de retour de "Reponse" Case 2'*** Traitement du bouton "Annuler"Resultat = "La reponse est Annuler"'*** Action que l'on souhaite réaliser Case 6'*** Traitement du bouton "Oui" Resultat = "La reponse est Oui"'*** Action que l'on souhaite réaliser Case 7'*** Traitement du bouton "Non" Resultat = "La reponse est Non"'*** Action que l'on souhaite réaliserEnd Select'*** Fin du traitement de la valeur de retour de "Reponse"Msgbox Resultat'*** Pour afficher le contenu de la variable "Resultat"
Par O.Cédric
Sur www.octetmalin.net
Article publié le:
03/05/2020 16:22
Mise à jour fait le:
05/05/2020 14:11
Cette page vous à plus?
Dîtes que vous l'aimez en cliquant sur le bouton Facebook.