Le langage de programmation Visual Basic intégré à Windows est facile d'accès et permet de réaliser des actions au moyen de scripts. Les scripts Visual Basic, dits VBScript, sont en effet de simples fichiers texte contenant des instructions à effectuer. Parmi ces instructions, il est possible d’afficher un message comme une question, un avertissement, une erreur… il peut donc être amusant de créer des fichiers VBS affichant des messages :

Exemples de messages en VBS

Ce tutoriel se découpe en trois parties :

  1. Afficher un message
  2. Effectuer d'autres actions
  3. Exemples d'utilisation

Seule la première partie est requise pour commencer à créer des messages 🙂

Afficher un message

Le bloc-notes de Windows suffit pour commencer à écrire les instructions de votre script VBS. Ainsi, la fonction permettant l'affichage de boîtes de dialogue se nomme MsgBox et il vous suffit d’écrire votre message entre guillemets, comme ceci :

MsgBox("Bouh !")

Une fois le script enregistré, par exemple message.txt, il est nécessaire de lui donner l'extension .vbs au lieu de .txt afin d'indiquer à Windows qu'il s'agit d'un script VBS. Par exemple, message.txt doit être renommé en message.vbs. Dans le cas où l'extension .txt n'est pas visible, se référer à cet article.

Plus qu'à cliquer sur votre script pour l'exécuter !

Message Bouh en VBS

Différents types de messages

La fonction MsgBox permet de spécifier des paramètres supplémentaires pour indiquer le type de message et son titre. Ainsi, pour personnaliser le message, la syntaxe suivante peut être utilisée :

x = MsgBox("Message",A+B+C,"Titre")

L'appel à MsgBox doit alors être nécessairement précédé d'une assignation, ici le "x =". Le premier paramètre correspond toujours au message, le dernier paramètre permet de spécifier le titre, et enfin, le paramètre du milieu permet de spécifier le type de message ainsi que les boutons, en remplaçant A, B, et C selon le résultat souhaité :

A = Boutons à afficher

0 : OK
1 : OK, Annuler
2 : Abandonner, Recommencer, Ignorer
3 : Oui, Non, Annuler
4 : Oui, Non
5 : Recommencer, Annuler

B = Type de message

0 : Aucun
16 : Erreur
32 : Question
48 : Avertissement
64 : Information

C = Message au premier plan

0 : Normal
4096 : Toujours au premier plan

Ainsi, par exemple :

x = MsgBox("Vous avez un supérieur hiérarchique juste derrière vous",0+48+0,"Attention !")

donne le message suivant :

Message Supérieur Hiérarchique en VBS

Bien entendu, à ce stade, il ne se passe rien lors du clic sur les boutons, mais votre message est déjà parfaitement fonctionnel. 😉

Effectuer d'autres actions

Récupérer la réponse de l'utilisateur

La variable "x" assignée lors de l'appel de la fonction MsgBox, via la syntaxe "x =", recevra un nombre différent en fonction du bouton sur lequel vous avez cliqué. Vous pouvez donc l’utiliser dans une condition If-Then par la suite dans votre script, pour par exemple afficher un autre message en fonction de la réponse choisie sur le message précédent :

x = MsgBox("Viendrez-vous à la fête de demain ?",4+32+0,"Fête")

If x = 6 Then
y = MsgBox("Super ! Dans ce cas téléphonez-moi pour m'avertir de votre présence !")
End If

If x = 7 Then
z = MsgBox("Tant pis...")
End If

Ce script donnera :

Invitation à une fête en VBS

Le script réagit différemment en fonction de ce que vous répondez

À présent, vous pouvez réaliser le vôtre sachant que les différentes valeurs possibles de x sont les suivantes :

1 = OK
2 = Annuler
3 = Abandonner
4 = Recommencer
5 = Ignorer
6 = Oui
7 = Non

Bien entendu, vous pouvez utiliser d'autres noms de variables que x, y ou z dans vos scripts, celles-ci peuvent être composées des caractères A-Za-z0-9, le premier caractère devant être une lettre. Par exemple, Reponse1 est un nom de variable tout à fait valide. À l'inverse 1Réponse est invalide, tout comme les mots déjà réservés tels que Then, End ou MsgBox.

Enfin, n'oubliez pas qu'une nouvelle assignation "x =" aura pour effet de mettre à jour le contenu de la variable x. Utilisez-donc autant de variables différentes que nécessaire pour stocker le résultat de tous vos messages.

Et voilà, vous savez faire des messages avancés 😃

Ajouter des délais

Il se peut que vous ayez besoin d’ajouter un délai avant l’apparition d’un message. Si c’est le cas, utilisez la méthode WScript.Sleep en spécifiant un temps en millisecondes. Par exemple, WScript.Sleep(5000) fait attendre 5000 millisecondes, soit 5 secondes :

MsgBox("Bonjour ! N'oublie pas de trier le courrier, tu as 23 nouveaux messages.")
WScript.Sleep(5000)
MsgBox("Oh, j'oubliais : Pense à visiter MicroZOOM.fr ;-)")

Exécuter quelque chose

Pour ouvrir le programme ou fichier de votre choix, vous pouvez procéder comme suit :

commande = "C:\Program Files\Mozilla Firefox\firefox.exe"
createobject("wscript.shell").run """"+commande+"""",1,false

L'exemple ci-dessus lance Firefox, mais à la place du chemin vers firefox.exe il est possible d'indiquer le chemin du fichier ou programme de votre choix. Seule la variable commande est à modifier, la deuxième ligne sert à lancer la commande spécifiée dans la première.

Exemples d'utilisation

Maintenant que vous avez créé votre script, il reste à trouver comment faire apparaître votre message au bon endroit, au bon moment. Pour cela, voici quelques pistes…

Créer un raccourci avec une icône personnalisée

Rendez-vous à l’endroit où vous souhaitez placer le raccourci, par exemple, sur le Bureau, puis effectuez un clic droit > Nouveau > Raccourci. Choisissez votre fichier VBS dans l'assistant :

Création de raccourci : sélection de la cible

Attention: N’oubliez pas d’ajouter "wscript " devant le chemin de votre fichier :

Création de raccourci : interpréteur wscript

En effet, c’est l’interpréteur WScript.exe qui se charge de lire votre script. Cet interpréteur est pré-installé sur tous les PC depuis Windows 98, donc votre script fonctionnera sur pratiquement n'importe quelle version de Windows.

Puis, choisissez un nom, par exemple dans mon cas je crée un faux raccourci pour Mozilla Firefox 🙂

Création de raccourci : choix du nom

Enfin, cliquez sur Terminer.

Vous obtenez un raccourci fonctionnel mais celui-ci comporte l'icône assez disgracieuse de l'interpréteur WScript.exe. Pour la changer, effectuez un clic droit sur le raccourci > Propriétés > Changer d’icône. Cliquez sur Parcourir et sélectionnez un fichier .exe, .dll ou .ico contenant l’icône recherchée :

Création de raccourci : changement d'icône

On obtient alors un raccourci ressemblant à s'y méprendre à un véritable raccourci pour lancer Firefox :

Message de prévention d'alcoolémie en VBS

Voici un exemple de script plus évolué que le raccourci pourrait lancer :

x = msgBox("Vous ne devriez pas utiliser cette application car vous êtes bourré ! Continuer quand même ?",4+48+0,"Mozilla Firefox")

If x = 6 Then
commande = "C:\Program Files\Mozilla Firefox\firefox.exe"
createobject("wscript.shell").run """"+commande+"""",1,false
y = msgBox("Soyez prudent !",0+64+4096,"Mozilla Firefox")
End If

Lancer au démarrage

Pour lancer le script au démarrage de l’ordinateur, par exemple pour laisser un message, il suffit de placer le raccourci qui vient d'être créé dans le dossier Démarrage du menu Démarrer : Menu Démarrer > Tous les programmes > Clic droit sur le dossier Démarrage > Ouvrir. Un dossier s’ouvre, plus qu'à placer le raccourci dedans.

Si votre version de Windows est dénuée de menu Démarrer, par exemple Windows 8, le dossier Démarrage peut également être atteint en collant l'adresse suivante dans la barre d'adresse de l'explorateur Windows :

%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Astuce : Pour que l'effet de surprise soit plus grand, vous pouvez ajouter un délai dans le script avant l’apparition du message, par exemple quelques minutes... ou même, quelques heures 😆

Conclusion

Je pense avoir expliqué ici tout ce dont vous pourriez avoir besoin pour tirer pleinement parti de ces petits messages. Si un doute subsiste et que vous avez une question, les commentaires sont ouverts. 😉

Amusez-vous bien !