Bien, maintenant nous allons pouvoir passer à notre première leçon de code. Comme je vous l'ai déjà expliqué, vous pouvez taper votre code dans plusieurs endroits différents : feuilles ou modules. Ce chapitre traite des procédures : vous pouvez utiliser le code de la feuille ou celui d'un module, ça n'a pas d'importance.
Dans ce chapitre, nous allons commencer à nous intéresser au code. De quoi est-il constitué ? Quelles sont les règles à respecter ?
Au terme de cette leçon, vous aurez appris quelque chose de nouveau, certes, mais vous n'aurez pas l'occasion de l'essayer. Vous ne saurez pas assez de choses pour que je puisse vous faire pratiquer de suite.
Patience donc, et contentez-vous pour l'instant de comprendre comment ça marche, et non pas à quoi ça sert... C'est important.
Nous allons établir quelques règles et définir des nouveaux mots pour commencer.
Un code est majoritairement constitué d'instructions. Une instruction est une commande, un mot-clé, qui ordonne à l'ordinateur de faire quelque chose. Le code en est rempli. Et vous découvrirez de nouvelles instructions toute votre vie de programmeur ;o)
Première règle : on met UNE instruction par ligne. Pas plus. Une fois que l'on a écrit son instruction, on tape Entrée ; on peut alors écrire une nouvelle instruction. |
Si vous cliquez sur le bouton "code" de votre feuille, par exemple, VB vous affiche le code associé à cette feuille. Pour l'instant, tout ce que vous pouvez voir, c'est un grand vide blanc :-p
Or, on ne va pas le remplir tout de suite d'instructions. Ce n'est pas possible, ça serait trop beau ! Ces instructions, on les trouve à l'intérieur de procédures.
Vous comprenez maintenant pourquoi j'ai voulu commencer par ça. Attention ! Ne vous faites pas d'illusion : ce que vous allez apprendre ne vous servira à rien pour le moment, et le programme n'aura aucun effet particulier. Nous allons juste nous entraîner à créer des procédures.
Une procédure "contient" des instructions. Elle a donc un début et une fin, avec des instructions au milieu. Voici à quoi ressemble la procédure la plus simple (parce qu'il en existe des compliquées, eh oui) :
Sub MaSub() 'Instructions End SubSi vous copiez cela dans votre code, vous verrez que VB attribue des couleurs à certains mots. Par exemple, les mots-clé sont en bleu.
Dans la première ligne, on distigue : le mot-clé "Sub" (procédure en anglais), qui indique qu'il y a une procédure qui commence. Il est obligatoire.
"MaSub", qui est en fait le nom de votre procédure. Il faut toujours lui donner un nom. Ici, j'ai choisi "MaSub", mais j'aurais très bien pu mettre autre chose.
Attention : les caractères accentués (éàêï...) ainsi que les espaces sont interdits. En revanche, vous pouvez utiliser le trait de soulignement _ en remplacement de l'espace. |
Il existe un nom de procédure réservé, c'est-à-dire que vous ne devez pas l'utiliser à n'importe quelle occasion. Il s'agit de la procédure Main. Si vous créez une procédure Main, et que vous mettez "Sub Main" dans "Objet de démarrage" (menu Projet/Propriétés de projet...), votre programme commencera à lire les instructions de la procédure Main, au lieu d'afficher une boîte de dialogue. |
Les parenthèses entourent les arguments à transmettre à la procédure. Nous verrons un peu plus loin ce que c'est et comment les utiliser.
La seconde ligne n'a aucun effet et peut même être supprimée : c'est un commentaire, nous nous y intéresserons plus en détail plus bas dans ce chapitre.
La dernière ligne est on ne peut plus simple : elle contient les mots-clé "End Sub", qui indiquent que la procédure se termine ici.
Votre toute première instruction ! Vous devez être très émus, je sais je sais :-p
Mais avant toute chose : un nouveau mot à ajouter à votre vocabulaire de programmeur. Il s'agit de l'appel. Un appel de procédure est tout simplement l'instruction qui commande à l'ordinateur de "sauter" vers une procédure bien précise. Rien de bien compliqué.
Par exemple, l'ordinateur est en train de lire les instructions de la procédure "A". A un moment, il rencontre une instruction (que nous allons voir) lui commandant de passer à la procédure "B". Il lira donc les instructions dans "B", puis, quand il aura fini, retourna à la procédure "A", juste après l'appel de la procédure.
Vous n'avez rien compris ? C'est normal, sans un bon schéma ça peut paraître quelque peu tordu...
Mais voyons d'abord l'instruction d'appel de procédure. C'est la plus simple qui soit. C'est le nom de la procédure à appeler ! Exemple :
MaProcedureEt c'est tout ! Il faut bien sûr que cette procédure existe, c'est-à-dire que vous l'ayez créée avec Sub, End Sub...
L'ordinateur lit les instructions de la procédure ProcedureDeDepart (1). Il tombe sur l'instruction d'appel de procédure et "saute" (2) jusqu'à ProcedureDeFin. Il lit cette procédure (3), et, à la fin retourne après l'instruction d'appel (4). Il lit les instructions qui restent (5), puis s'arrête.
Notez que cette instruction est en fait l'instruction Call. On devrait écrire : Call MaProcedure. Mais le mot Call étant facultatif, il ne m'a pas semblé utile de vous le donner. Maintenant, si vous tenez vraiment à la mettre... :-) |
Nous avons dit que la deuxième ligne n'a aucun effet particulier : c'est un commentaire. Vous pouvez mettre des commentaires partout dans votre code.
Pourquoi des commentaires ? Cela vous sera très utile pour vous repérer dans votre code, surtout s'il est gros. Ici, mon commentaire vous indique que vous mettrez les instructions à ce niveau. Mais cela sert aussi de note, pour vous, afin de ne pas oublier quelque chose d'important.
Pour introduire un commentaire, il suffit juste de mettre une apostrophe avant le commentaire. VB devrait recolorer la ligne en vert afin de le distinguer du reste du code (il ne faudrait pas le confondre avec une instruction...).
Exemple de commentaire :
'Revoir le code à cet endroit, il y a une erreur !Toutefois, vous n'êtes pas obligé de prendre toute une ligne pour votre commentaire : vous pouvez le mettre à la fin de n'importe quelle déclaration, instruction... Par exemple, le code ci de-dessous marche très bien :
Sub RDV_Pers() 'Revoir le nom de cette procédure, il n'est pas très clair. End SubBref, n'hésitez pas à abuser des commentaires : votre code ne sera pas plus gros, et il sera bien plus clair. Si vous n'avez pas touché à un code depuis plusieurs semaines, vous risquez d'être complètement perdus sans commentaires pour vous aider...
Juste 5 petites questions pour être sûr que vous ayez suivi :-) :
Jusqu'à combien d'instructions peut-on mettre par ligne ?
Que fait l'ordinateur une fois qu'il a lu la procédure demandée avec l'instruction d'appel ?
Quel est le caractère qui permet d'introduire un commentaire ?
Créez une procédure de nom MaProc.
Quel est le nom de procédure réservé, et à quoi sert-il ?
Donc en fait, si vous avez répondu correctement à ces 5 questions, vous savez ce qu'il faut pour continuer. Tout doit être encore flou dans vos têtes, mais ça ne va pas tarder à devenir plus clair, vous allez voir...