Notre magasin

Rue Albert 1er, 7

B-6810 Pin - Chiny

(/fax: 0032 (0)61/32.00.15


Le tutoriel EXCEL d'YBET Informatique

FORMATIONS LOGICIELS FORMATIONS TECHNIQUES DIVERS
Microsoft PowerPoint Ordinateurs et périphériques Le langage PHP
Tutorial Access Configurations de Windows Installations techniques
Formation Internet Le matériel réseau  
YBET informatique CONTACT  

16. Macros avec Excel (1)

1. Débuter - 2. Macro relative - 3. Problèmes avec les macros relatives - 4. Exécuter une macro

Une macro permet d'automatiser des tâches répétitives. Deux méthodes différentes sont utilisées pour créer des macros Excel:

  • enregistrer une séquence utilisateur (déplacements, textes, chiffres et formules, commandes diverses, ...)
  • programmation en VBA (Visual Basic Application, une version particulière du langage de programmation Visual Basic).

Dans cette formation, voyons la méthode "enregistrer une séquence d'instructions". Excel crée automatiquement la liste des commandes en VBA. Cette méthode pour créer une macro Excel est similaire à celle de Microsoft Word. Par contre, la création d'une macro Access ne peut pas se faire en enregistrant une suite de déplacements, mais par VBA ou en sélectionnant la liste des commandes disponibles.

1. Débuter en macros.

 Les commandes sont reprises dans le menu Outils: Macro et Macros complémentaires.

Pour faciliter la compréhension, nous allons tout de suite commencer par créer une nouvelle macro. Positionnez votre curseur dans la cellule A1 avant de commencer.

4 options sont disponibles:

  1. Le nom de la macro: il doit être en 1 seul mot, sans espaces, trait d'union, underscore, ...
  2. Le raccourci clavier. Ceci permet de démarrer la macro par une combinaison de touche. N'utilisez pas de raccourcis existants comme CTRL + G (gras), CTRL + I (italique), CTRL + U (souligné). Les raccourcis peuvent être constitués des touches <CTRL>, <ALT>, suivi ou non de <Shift>, suivi d'une lettre ou d'un chiffre.
  3. Ce classeur ou nouveau classeur ou classeur de macros personnelles. Pour l'instant, sélectionnons ce classeur.
  4. Description de la suite de commandes comme commentaire (optionnel)

Cliquez sur le bouton OK pour continuer. La fenêtre d'enregistrement disparaît et une petite fenêtre :

Cette fenêtre va nous suivre tout au long de l'enregistrement de notre suite de commandes. La croix ferme la fenêtre, n'arrête pas la macro. Pour récupérer cette fenêtre en cours d'enregistrement, vous pouvez utiliser le menu Affichage -> Barre d'outils -> Arrêter l'enregistrement.

Le mode relatif ou absolu permet d'enregistrer les déplacements du pointeur dans les cellules ou non. Elle n'est disponible que depuis la version Excel XP et 2003. Notre premier exemple va clarifier cette option.

Le bouton "Référence absolu / relatif" ne dois pas être enfoncé, nous travaillons donc en absolu. Nous avons placé le curseur sur la cellule A1 avant de commencer l'enregistrement. Tapez les chiffres ci-dessus dans votre macro

Dans la cellule A3, faites la sommes des 2 cellules supérieures, soit =somme(A1:A2) et arrêtez l'enregistrement de la macro. Supprimez le contenu des 3 cellules et positionnez le curseur dans n'importe quelle cellule (sauf A1), par exemple en B2.

 Nous allons exécuter notre première macro. Dans le menu Outils, sélectionnez la commande Macro -> Macros. Vous pouvez également utiliser le raccourci clavier <ALT> + <F8>. Ceci fait apparaître la listes des macros disponibles pour ce classeur.

Utilisez la commande Exécuter.

La cellule de départ B2 reçoit notre premier chiffre tapé durant l'enregistrement, soit 34. La cellule A2 reçoit le deuxième chiffre, effectivement tapé durant l'enregistrement en A2. La cellule A3 reçoit effectivement la fonction Somme.

Que c'est-il passé. Dans le mode absolu, la macro enregistre les déplacements en mode absolu (la référence des cellules). Reprenons le cheminement de notre commande.

 

Enregistrer

Exécuter

Avant

Le curseur est placé en A1

Le curseur est placé en B2

Début

Nous tapons 34, sans déplacer le pointeur

La macro tape 34 dans la cellule en cours, soit B2

 

Nous déplaçons le curseur en A2

Excel déplace le curseur en A2

 

Nous tapons 45

Excel insère 45 dans la cellule en cours

 

Nous déplaçons le curseur en A3

Le curseur est déplacé en A3

 

Nous faisons la somme des 2 cellules supérieures (A1:A2)

La fonction somme des 2 cellules supérieures est insérée dans la cellule active

En suivant ce tableau, Excel a strictement suivi les instructions de l'enregistrement.

Si nous recommençons la même macro en déplaçant le curseur vers la cellule A1 pendant l'enregistrement, la liste de commande tapera effectivement 34 dans la cellule A1.

2. Macro relative.

Nous venons d'utiliser la méthode absolu, essayons maintenant la méthode relative. Effacez le contenu de la feuille et positionnez le curseur en A1 comme précédemment. Créez une nouvelle macro. Lorsque la fenêtre arrêter l'enregistrement apparaît, cliquez sur le bouton relatif. Il doit avoir l'aspect coloré.

Tapons de nouveau 34 en A1, 45 en A2 et la somme de ces nombres en A3. Fermer l'enregistrement, effacez le contenu et positionnez le curseur en B2 par exemple. Exécuter la macro relative.

Le résultat est maintenant différent.34 est bien repris dans notre cellule de départ, soit B2. Vous pouvez positionner votre curseur n'importe où dans votre feuille, la suite de chiffre est toujours tapée à l'endroit de départ.

Effaçons le contenu de notre feuille et positionnons le curseur dans la cellule B2 par exemple. Commençons l'enregistrement d'une nouvelle macro en mode relatif.

Comme opération, descendons le curseur de 2 lignes et tapons un chiffre. Terminez l'enregistrement et exécutez la macro. Quel que soit la position de votre curseur avant l'exécution, le chiffre 34 est toujours tapé 2 cellules en dessous.

Remarque: vous pouvez passer d'un mode à l'autre en cours d'enregistrement.

3. Problèmes avec les macros relatives.

A retenir: Lorsque vous enregistrez une macro Excel en mode absolu, l'exécution suit les mouvements du pointeur en absolu, suivant la référence exacte de la cellule. Par contre, enregistrer une macro en mode relatif enregistre les déplacements suivant la différence du nombre de lignes et de colonnes.

En mode absolu, le curseur se déplace vers une référence de cellule bien définie. Par contre, en relatif, l'enregistrement se fait sur le déplacement. En relatif, l'exécution peut déplacer le curseur sur des cellules inexistantes.

Comme exemple, positionnons le curseur en B5 et débutons l'enregistrement d'une macro en mode relatif. Déplacez le curseur en A1 (soit -1 colonne et - 4 ligne) et tapez par exemple YBET informatique. Arrêtez l'enregistrement. Positionnez votre curseur en B6, le texte est effectivement tapé en A2. Par contre, placez votre texte en A2 et exécutez la macro. La fenêtre de débogage apparaît

.

Ce type d'erreur n'apparaît jamais en absolu sauf si vous déplacez le curseur vers une feuille préalablement effacée.

4. Exécuter une macro.

Il y a 4 méthodes possibles pour exécuter une macro Excel, c'est identique en Word.

  1. Par le menu Outils, c'est la méthode que nous venons d'utiliser
  2. En créant un bouton dans une barre d'outils ou même en ajoutant une commande dans un menu.
  3. En créant un raccourci clavier
  4. En créant un bouton dans la feuille Excel.

4.1. Bouton dans une barre d'outils ou dans un menu.

C'est la méthode la plus courante.

Sélectionnez la commande "Barre d'outils" dans le menu Affichage et la sous commande Personnaliser tout en dessous.

Dans l'onglet "Commande", sélectionnez dans les catégories Macros. Glissez le "bouton personnalisé" vers une boîte d'outils. le résultat doit être similaire à ceci:

Cliquez avec le bouton droit de la souris sur ce bouton (menu contextuel) pou faire apparaître le menu suivant:

Réinitialiser permet de remettre le bouton de départ en cas de modifications

Supprimer permet de supprimer ce bouton de la barre d'outils. L'autre solution est de glisser ce bouton en bas de la barre d'outils.

Nom permet de donner un nouveau nom à ce bouton.

Copier l'image du bouton permet de copier l'icône pour l'utiliser sur un autre bouton personnalisé.

Coller l'image du bouton permet de reprendre une image copiée.

Rétablir l'image du bouton permet de reprendre l'aspect avant modification

Editeur de bouton permet de dessiner l'icône

Modifier l'image du bouton propose des icônes différentes

Les 4 lignes suivantes sont liées à l'aspect de cette commande dans la barre d'outils:

Par défaut (icône) - Texte seul (le texte tapé comme nom) - Masquer les images dans les menus (options pour ne plus afficher les icônes à coté des commandes dans les menus) - Image et texte affiche le bouton et le nom dans la barre d'outils.

Nous pouvons directement affecter une macro par ce menu, mais si vous ne le faites pas, en cliquant sur le bouton la première fois (après avoir quitter le mode personnalisé), Excel le propose automatiquement et affiche les macros disponibles.

Cette méthode permet également de modifier, ajouter ou supprimer des commandes dans les menus.

Exercice: créez un bouton de même aspect que celui de l'impression standard mais avec une ligne rouge

4.2 Exécuter une macro par un raccourci clavier.

 Vous pouvez également exécuter une macro en lui associant un raccourci clavier. Pour créer ce raccourci, reprenez votre fenêtre de macros. Sélectionnez la macro souhaitée et cliquez sur le bouton option.

Vous pouvez ainsi affecter le raccourci souhaité. Sont autorisés (en combinaison)

  • les touches ALT - CTRL et ALTGR (ou 2 ensembles)
  • Shift (optionnel)
  • 1 lettre ou 1 chiffre - Excel distingue les chiffres du pavé numérique de ceux du clavier standard.

4.3. Bouton sur la feuille de calcul

Cette solution passe par l'utilisation de la barre d'outils Formulaires.

Utilisez le bouton dans la barre d'outils pour créer un bouton directement sur votre classeur Excel. La fenêtre pour affecter une macro apparaît immédiatement.

Il ne vous reste plus qu'à sélectionner la macro.

En annexe:

Suite de cette formation >17. Exercices sur les macros

< 15. RechercheH - RechercheV

Le plan de la formation en ligne

1. Cours Excel - 2. Fonction Excel - 3. Fonctions imbriquées sous EXCEL - 4. Mise en forme sous Excel - 5. Impressions des feuilles - 6. Graphique sous Excel - 7. Fonction Somme.si() - 8. Feuilles Excel - 9. Tris et Filtres - 10 . Relatif - absolu - 11. Les tables Excel - 12. Fonction financière - 13. Sous-totaux - 14. Filtre élaboré - 15. Fonctions de recherche - 16. Macro Excel - 17. Macros Excel (suite et exercice) - 18. Petites trucs complémentaires

Votre revendeur informatique de confiance en province de Luxembourg:

YBET informatique
Rue Albert 1er, 7
6810 Pin (Chiny)
Belgique

Ce site est maintenu en partie par la publicité: merci de désactiver votre bloqueur de publicités (adblock et autres).