Initiation à Excel VBA : la fenêtre Exécution

lundi 16 juin 2014
par  Matt
popularité : 19%

Passez immédiatement à la pratique avec la fenêtre Exécution d’Excel VBA !


Initiation à Excel VBA : la fenêtre Exécution

Plutôt que de présenter le langage VBA (Visual Basic for Application) par une description théorique des types, variables, fonctions, etc., passez immédiatement à la pratique avec la fenêtre Exécution.

Si vous avez déjà expérimenté l’enregistreur de macro, et que vous avez voulu connaître ce qui a été enregistré, vous connaissez déjà le Visual Basic Editeur (VBE) sinon découvrez-le !

  • Ouvrir Excel. La feuille de calcul est vide.
  • Tapez le raccourci clavier Alt+F11, L’éditeur de Visual Basic s’affiche en avant plan devant la fenêtre d’Excel.

Alternativement à la méthode du raccourci clavier, on peut accéder à l’éditeur Visual Basic par menu selon la version d’Excel :

Excel97 : cliquer sur le menu "Outils" > "Macro" > "Editeur Visual Basic" (Alt+F11),

Excel2007 : l’onglet "Développeur" est caché par défaut. Voici comment le faire apparaître.
Cliquer sur le bouton circulaire jaune "Bouton Office" à la gauche du menu "Accueil".
Cliquer "Options Excel" en bas à droite à la gauche de "Quitter Excel".
Cliquer sur le premier item "Standard" au-dessus de "Formules" dans la colonne de gauche (s’il n’est pas déjà sélectionné).
Dans la colonne de droite, premier groupe "Meilleures options pour travailler avec Excel",
cocher [x] Afficher l’onglet Développeur dans le ruban.
Cliquer "OK". La boîte de dialogue des options d’Excel se ferme.

Cliquer sur le dernier onglet "Développeur" du ruban (barre d’outil sous les menus).
Cliquer sur la première icône "Visual Basic" (Alt+F11)

Excel2010 : Mise en route avec VBA dans Excel 2010, Figure 1. Onglet Développeur.
Voir dans les Options Excel pour afficher l’onglet Développeur s’il n’est pas visible.

Le VBE présente en 2 (indice cerclé en blanc sur fond rouge) un navigateur de projet et en 4 une fenêtre vide pour éditer les macros VBA. On ne va utiliser dans un premier temps aucune des zones numérotées à l’exception de la barre de menus en 1.

Cliquez sur le VBE menu "Affichage" > "Fenêtre Exécution" (Crl+G)
Cliquer à l’intérieur de la Fenêtre Exécution (appelée Immediate en anglais) si vous n’y voyez pas le curseur d’insertion de texte.
Vous allez pouvoir saisir n’importe quelle fonction VBA pour voir le résultat retourné.

Debug.Print 1+2

3
La syntaxe est le nom de la fonction ici Debug, le séparateur "." puis la méthode "Print" pour afficher le résultat "3" de l’expression qui suit, à savoir "1+2".

Quand vous tapez le 1er séparateur "." après "Debug", VBE propose automatiquement en bulle d’aide la méthode "Print" que vous pouvez sélectionner par Flèche vers le bas. Lorsque vous tapez sur la barre espace, "Print" s’affiche tout seul s’il a été sélectionné. C’est l’autocomplétion très pratique pour apprendre la ou les fonctionnalités ici de la fonction Debug.

Ne pas oublier l’espace blanc séparateur entre "Debug.Print" et le paramètre "1+2".
Si vous l’oubliez pour faire le test comme dans : "Debug.Print1+2",
VBE affiche : Compile error : Expected : Print or ?

Quand vous validez par ENTER après "1+2", VBE affiche le résultat de la somme à savoir 3.

Avoir à taper "Debug.Print" à chaque fois dans la fenêtre Exécution est un peu long.
On préferera le raccoursi " ?"

? 7*8 + 6

62
affiche la somme de rank * 8 + file, avec rank = 7 et file = 6 soit la case 62.
Cela ressemble à une simple calculatrice sauf que l’on doit commence par " ?".
En fait c’est beaucoup plus qu’une calculatrice parce qu’on peut additionner autre chose que des nombres et l’on pourra plus tard remplacer " ?" par autre chose (voir la dernière ligne de la fenêtre Exécution dans la capture d’écran) ce qui n’est guère possible avec une calculatrice.

?  "g" + "8"

g8
affiche la concaténation des deux chaînes de caractères "g" et "8" soit la chaîne "g8", la case initiale du Cavalier Cg8 (en anglais Ng8) du Roi des Noirs.

Contrairement à Debug.Print, on peut omettre l’espace blanc séparateur entre " ?" et l’expression à afficher.

?date

19/07/2013

? Left("g" + "8", 1)

g

? Right("Black kNight Ng8", 1)

8

En conclusion, la fenêtre Exécution permet d’expérimenter immédiatement toutes les fonctions de VBA.

Syntaxiquement le rôle de l’espace blanc séparateur " " est primordial dans les langages informatiques.
"Debug.Print1+2" sans l’espace blanc séparateur entre Print et 1 pourrait être interprété comme l’addition du résultat de la méthode Print1 de l’objet Debug avec la constante 2. Hors une telle méthode Print1 n’existe pas d’où le message d’erreur mentionné précédemment. L’objet Debug ne fournit que la méthode Print.

Debug.Print 1+2 est l’appel de la méthode ou fonction Debug.Print avec le paramètre 1+2.


Précédent : Jeu d’Echecs en Excel VBA : introduction
Suivant : Coordonnées échiquéennes en Excel VBA (1ère partie)


Commentaires  Forum fermé

Logo de hurricane
mardi 12 juillet 2011 à 03h06 - par  hurricane

Merci pour cette initiation. J’ai commencé à apprendre le langage C et je découvre avec plaisir cette autre possibilité. Je suis entièrement preneur ! :-)

Brèves

Championnat jeunes 2018

dimanche 25 février 2018

A St Sernin sur Rance, Vadim Breton se qualifie pour le championnat de France jeunes. Il termine à la 4ème place des benjamins. http://echecs-occitanie.com/spip.php?article382&mode=AF

Les Jeunes qualifiés en NIII !

mercredi 14 décembre 2016

Dimanche 11 décembre 2016, aux interclubs jeunes à Leguevin, notre équipe a gagné un match et fait match nul aux deux autres.

L’équipe composée de Xavier, Vadim, Aurélie et Titouan termine 8ème et se qualifie pour la N3. A noter que Xavier et Vadim ont gagné toutes leurs parties.

Sur le Web : Site de la LMPE

Championnat jeunes

lundi 5 décembre 2016

Xavier, Vadim et Martin trois champions du Tarn et Garonne
Lire l’article

Coupe Loubatière

lundi 5 décembre 2016

Le club qualifié pour la phase régionale de la coupe Loubatière
Lire l’article

Sur le Web : Coupe Loubatière

Tournoi interne 2016-2017

lundi 5 décembre 2016

C’est reparti pour le tournoi interne : 1 partie par mois de novembre à mai
Lire l’article

Live Playchess.com

mercredi 7 septembre 2016