Les scripts Visual Basic sont de petits fichiers contenant des instructions à effectuer. Parmi ces instructions, il est possible d’afficher un message, une question, un avertissement, une erreur… il peut donc être amusant de créer des fichiers VBS affichant des messages :

A l’origine j’avais prévu un simple article (la partie 1), mais finalement je vais faire un tutoriel détaillé et progressif 🙂

1. Comment procéder
2. Pour aller plus loin…
3. Possibilités d’utilisation

Note : Il vous suffit de suivre la première partie pour créer des messages 😉

Comment procéder ?

Afficher un message est un jeu d’enfant ! Il vous suffit d’utiliser le bloc-notes de Windows, et d’écrire une commande 🙂

Le principe

La commande se nomme Msgbox, et il vous suffit d’écrire votre message entre guillemets comme ceci :

msgbox("Bouh !")

Une fois que vous avez enregistré votre fichier message.txt, renommez-le en message.vbs
Et voilà, il vous suffit de cliquer dessus pour l’exécuter !
Si vous ne voyez pas le « .txt » à la fin du nom de fichier, lisez cet article

Différents types de messages

Pour personnaliser le message, il faut utiliser la syntaxe suivante :

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

En remplaçant A, B, C selon ce que vous désirez obtenir :

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 : Rien
16 : Erreur
32 : Question
48 : Attention
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 ceci :

Attention : Vous ne devez pas oublier le ‘x = ‘ devant la fonction Msgbox lorsque vous affichez un message personnalisé.

Le créateur de messages

Pour simplifier encore plus, vous pouvez utiliser le créateur de messages
C’est un assistant qui vous mâche le travail et crée le fichier VBS pour vous 🙂

Pour aller plus loin…

Bien entendu, il ne se passe rien quel que soit le bouton sur lequel vous pressez.
Cependant, la variable « x » contiendra un nombre différent en fonction du bouton sur lequel vous avez cliqué, vous pouvez donc l’utiliser pour afficher un autre message en fonction du 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 :


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

A présent, vous pouvez réaliser le vôtre sachant que :

Les différentes valeurs possibles de x sont…
1 = OK
2 = Annuler
3 = Abandonner
4 = Recommencer
5 = Ignorer
6 = Oui
7 = Non

Attention : Changez de variable pour chaque message sinon vous aurez des résultats inattendus !
Vous pouvez mettre n’importe quoi comme variable : x, y, z, reponse, message, bouton, tatayoyo, schtroumpf…

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 commande WScript.Sleep avec un temps en millisecondes. Exemple « WScript.Sleep 5000 » fait attendre 5000 millisecondes soit 5 secondes.

Exemple d’utilisation de la commande WScript.Sleep :

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 ^^")

Astuce : Vous pouvez multiplier par 1000 pour mettre le temps en secondes !
Par exemple « WScript.Sleep 53*1000 » fait attendre 53 secondes.

Exécuter quelque chose

Pour exécuter quelque chose, voici les commandes :

commande = "C:\Program Files\Mozilla Firefox\firefox.exe"
Set fso = CreateObject("Scripting.FileSystemObject" )
set shl = createobject("wscript.shell" )
shl.run """"+commande+"""",1,false

Ici cela ouvre Firefox, mais à la place écrivez le chemin du fichier à ouvrir ou du programme à lancer !

Note : Seule la variable « commande » est à modifier, ne touchez pas aux autres lignes et copiez/collez-les telles quelles, je ne vais pas vous expliquer en détails le fonctionnement 😉

Possibilités d’utilisation de votre script

Maintenant que vous avez votre script, comment faire apparaître votre message au bon endroit, au bon moment ? Voici quelques pistes…

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

A l’endroit où vous souhaitez placer le raccourci (ex : le Bureau),
Clic droit > Nouveau > Raccourci
Choisissez votre fichier VBS :

/!\ N’oubliez pas d’ajouter ‘wscript ‘ devant le chemin de votre fichier :


En effet, c’est l’interpréteur WScript.exe qui se charge de lire votre script.
Cet interpréteur est déjà pré-installé sur tous les PC depuis Windows 98

Puis, choisissez un nom, en ce qui me concerne je vais faire un faux raccourci de Mozilla Firefox 🙂


Enfin, cliquez sur Terminer

Voilà, vous avez à présent un raccourci fonctionnel mais avec la très moche icône de WScript.exe 😆
Pour la changer : 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 :

Et voilà, j’ai créé un raccourci magnifique débile :

Pour l’améliorer j’aurais pu faire :

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"
Set fso = CreateObject("Scripting.FileSystemObject" )
set shl = createobject("wscript.shell" )
shl.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 (ex : pour donner une instruction…), il vous suffit de placer le raccourci que l’on vient de créer 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, placez votre raccourci dedans 😉
Astuce : Ajoutez un délai dans le script avant l’apparition du message 😀

 

Voilà, je crois vous avoir expliqué tout ce dont vous pourriez avoir besoin pour tirer pleinement parti de ces petits messages. Amusez-vous bien !

 

J.