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) :
    Constante		Valeur	Description
    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 :
    Constante		Valeur	
    vbCritical 		16
    vbQuestion 		32
    vbExclamation	48
    vbInformation	48

Bouton_sélectionné_par_défaut :
    Constante		Valeur	Description
    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 	Description
vbOK 		1 	OK
vbCancel 	2 	Annuler
vbAbort 	3 	Abandonner
vbRetry 	4 	Réessayer
vbIgnore 	5 	Ignorer
vbYes 		6 	Oui
vbNo 		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 variable

Message = "Etes vous satisfait ?"				'*** Message à afficher
Bouton = vbYesNoCancel + vbQuestion + vbDefaultButton2 		'*** Pour définir les boutons et l'icône
Titre = "Test MsgBox"						'*** Pour définir le titre de la fenêtre


Reponse = MsgBox(Message, Bouton, Titre)			'*** Affichage de la fenêtre

If Reponse = "6" then						'*** Traitement du bouton "Oui"
    Resultat = "La reponse est Oui"				'*** Action que l'on souhaite réaliser

Elseif Reponse = "7" then					'*** Traitement du bouton "Non"
    Resultat = "La reponse est Non"				'*** Action que l'on souhaite réaliser

Else								'*** 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 if

Msgbox 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 variable

Message = "Etes vous satisfait ?"				'*** Message à afficher
Bouton = vbYesNoCancel + vbQuestion + vbDefaultButton2 		'*** Pour définir les boutons et l'icône
Titre = "Test MsgBox"						'*** Pour définir le titre de la fenêtre


Reponse = MsgBox(Message, Bouton, Titre)			'*** Affichage de la fenêtre

Select 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éaliser

End 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.