Excel – Initiation, les bases des macros ! Gagnez du temps sur vos tableaux avec le VBA !

Bonjour à toute et à tous !

Aujourd’hui, on repart sur Excel pour vous présenter une fonctionnalité indispensable à connaître: les macros

Les macros permettent d’automatiser ses process et de gagner un temps considérable après un peu de travail !

Afin de rester concis et compréhensible, nous verrons aujourd’hui uniquement les bases et comment créer ses premières commandes.

Qu’est-ce qu’une macro Excel et à quoi ça sert ?

Une macro est une technique sur Excel permettant de refaire certaines actions automatiquement. L’exemple le plus parlant se résume en deux images:

Macro - 4 opérations sans utiliser de macro

 

Dans ce cas là, on a 4 actions qui sont faites successivement à la main. On passe donc du temps sur chaque opération et doivent être refaites à chaque besoin.

Maintenant avec une macro:

Macro - 4 opérations avec macro

 

Dans ce cas là, on exécute une seule action: Lancer la macro.

On a donc gagner du temps car on ne fait quasiment plus rien ! Excel s’occupe de tout !

Les macros vont donc vous permettre d’automatiser tout un tas de tâches comme par exemple:

  • Insérer une ligne automatiquement,
  • Copier coller des données automatiquement,
  • Détecter des données, les additionner,
  • Créer des feuilles, etc…

Activer les macros sur Excel 2013 :

Pour créer ses premières macro, il va tout d’abord falloir activer la fonction macro !

Pour cela, rendez vous dans le menu puis dans les options.

Options Excel 2013

 

Vous devriez vous retrouver avec une fenêtre comme celle au dessus.

Attention, selon votre version d’Excel, les noms et l’organisation peut un peu changer.

Dans tout les cas, il faut que vous cherchiez une option lié au ruban.

Rendez-vous donc dans la section “Personnaliser le ruban”  et vous devez maintenant voir ce-ci:

Activer l'onglet Développeur Excel 2013

 

Il va maintenant falloir cocher l’option “Développeur” dans la colonne de droite. En général elle se trouve en fin de liste.

Validez, vous avez maintenant un onglet Développeur sur Excel !

Comment créer ses premières macros simplement et rapidement ?

Une bonne chose à savoir; je vous présente ici une technique qui permet de créer des macros simples.

Le concept est: Excel enregistre vos actions pendant l’intervalle que vous lui donnez, la macro consistera à recréer ses opérations.

Pour se faire, rendez-vous dans votre nouvel onglet Développeur, puis:

1. Cliquer sur Enregistrer une macro,

Onglet développeur Excel 2013

2. Choisissez un nom pour votre macro (pas d’espace), puis éventuellement associez-y un raccourci et un descriptif.

Enregistrer une macro

3. Faîtes vos opérations. (Prenez votre temps, Excel n’enregistre pas le temps entre les actions ! Veillez à ne pas faire d’erreur, puis annulez, etc…)

4. Arrêter l’enregistrement de votre macro.

 

Désormais, votre macro est crée. Pour l’utiliser, il vous de cliquer sur Macros, puis sélectionnez votre macro créée et cliquez sur exécuter.

Nous allons maintenant voir qu’il existe un moyen d’exécuter sa macro encore plus simplement !

1. Dans l’onglet Développeur, cliquer sur insérer.

2. Choisis le type d’objet, dans notre cas plutôt un bouton.

Ajouter bouton macro excel

3. Dessinez les dimensions de votre bouton, puis associez-y votre macro.

4. Modifier le texte de votre bouton. Si vous n’arrivez pas à le sélectionner sans cliquer sur le bouton, faîtes un Ctrl + clic sur le bouton.

 

Désormais, dès que vous cliquez sur votre bouton, votre macro se lance ! Magnifique non ? 🙂

Aller plus loin: décoder et s’intéresser au code VBA.

Maintenant que vous savez comment créer une petite macro, vous avez peut-être envie d’aller encore plus loin dans l’automatisation !

Vous allez vite vous rendre compte que en utilisant l’enregistrement, le procédé est simple, mais limité.

Pour réussir à faire des choses plus personnalisées, il va falloir vous intéresser au fonctionnement de la macro.

Ce que vous devez savoir: une macro est un enchaînement d’actions géré par du code VBA. Pour visualiser ce code, il vous cliquer sur Macros, puis sélectionner le nom de votre macro et cliquer sur Modifier.

Fenetre VBA macro excel

 

C’est ici qu’il va falloir que vous commenciez à travailler !

Je ne vais pas rentrer dans les détails dans cet article, mais je vous invite à vous intéresser aux bouts de code qui se trouvent devant vous ! C’est du code vraiment simple qui peut nous permettre de faire des choses très efficace et encore une fois, gagner un temps considérable.

Si l’idée d’aller plus loin vous intéresse, je refais des explications sur le VBA, mais pour le moment il va falloir que vous essayez de bidouiller ce que vous avez devant les yeux pour arriver au résultat souhaiter ! (c’est comme ça que j’ai commencé 🙂 ).

Sachez aussi qu’il existe énormément de ressource sur internet concernant le VBA, et d’autres viendront sur ce site avec le temps !

 

En tout cas, j’espère que ces quelques explications vous aideront à créer quelques automatisations et peut-être à vous intéresser au VBA !

 

N’hésitez pas à me donner vos retours sur le sujet ou me faire part de soucis, et surtout si vous voulez en voir plus.

 

A bientôt !

Matthieu Langlade Article écrit par Matthieu Langlade - Google +

Passionné de la suite Office et tout particulièrement de PowerPoint, ses possibilités et la "slidologie", je souhaite partager mes connaissances et donner des idées pour sortir des standards que l'on s'impose.

14 thoughts on “Excel – Initiation, les bases des macros ! Gagnez du temps sur vos tableaux avec le VBA !

  1. Bonjour,
    Merci pour cette explication très claire. Comme idée de nouveau tutoriel, je cherche à apprendre à copier à l’aide de macro, des tableaux et graphiques excel dans un power point. Si vous avez la possibilité de nous montrer ça, ce serait super.
    Merci,
    Jean-Eudes

    • Bonjour,

      Merci pour la suggestion !
      Je ne pense pas que je ferais un tutoriel spécifique pour les tableaux de excel à PowerPoint, mais en revanche je voulais faire quelque-chose sur les macros pour passer de Excel à PowerPoint ou Excel à Word.

      Ça rejoint un peu cette proposition ! 🙂

  2. Bonjour Mathieu,
    très bon tuto, j’ai, grasse à vous, créer mes premières macro!
    Par contre j’ai un problème sur l’une d’entre elle:
    j’ai automatisé l’enregistrement de deux feuilles d’un classeur sur le bureau, le problème c’est que quand je copie le fichier Excel sur un autre ordinateur, il essaie toujours d’enregistrer le fichier sur mon bureau et non sur celui de l’utilisateur.
    comment puis-je réglé le problème?
    j’ai bien regarder dans le code VBA, j’ai identifier le problème (ChDir “C:\Users\THOMAS\Desktop”), mais je ne sais pas comment le résoudre! y a t’il une solution?
    Merci

    • Bonjour Thomas,

      Pour que la formule fonctionne sur d’autres ordinateurs, il faut adapter le chemin “C:\Users….”
      Pour cela, il faut récupérer le nom d’utilisateur qui utilise le fichier, ce qui est possible avec la fonction environ(“username” ).

      Avant d’écrire le chemin, vous pouvez rajouter une ligne: utilisateur = environ(“username” )
      Puis dans le chemin il faudra écrire ChDir(“C:\Users\” & utilisateur & “\Desktop”)

      Voilà qui devrait résoudre ce problème 🙂

  3. Bonjour Matthieu,
    Je désire créé une macro qui sera disponible a partir de tout document que j’ouvrirais dans excel. Je désire que cette macro retire les tiret ( – ) des cellules qui seront sélectionner. Le fait d’enregistrer une macro ne semble pas vouloir fonctionner. J’imagine que je devrai utiliser un peu de VBA?
    Merci

  4. Bonjour et merci pour cette super initiation. J’ai un fait une macro et la fin de ma macro est :
    Range(“A1”).Select
    ActiveSheet.Paste
    End Sub
    Car j’avais sélectionné la cellule A1 lors de sa création. Or, je veux indiqué à cette macro qu’elle recopie le résultat à l’endroit où je suis lorsque je lance l’exécution de la macro. Pouvez-vous m’aider ? Merci d’avance Cordialement
    Nicole

    • Bonjour,

      Pour sélectionner la cellule active, il faut utiliser ActiveCell.

      Dans ce cas, on aurait

      ActiveCell.Select // Sélectionne la cellule active
      ActiveSheet.Paste // Colle dans la sélection le contenu copié.

      Cependant, s’il y a des opérations de sélection durant la macro, la “cellule active” va bouger, il faut donc mémoriser sa position en début de macro. La première commande pourrait être

      x = ActiveCell.Adress // Stock dans x l’adresse de la cellule active

      Et à la fin, re-sélectionner cette cellule active:

      Range(x).Select // Sélectionne la cellule d’adresse x

      Attention, ce n’est pas forcément la bonne méthode, il y a souvent plus simple que de passer par des Select-ions de cellules. C’est cependant un bon début pour commencer et une bonne manière de se familiariser avec l’outil selon moi.
      N’hésitez pas à chercher directement sur Google ce que vous cherchez à faire en ajoutant “VBA Excel”, il y a souvent la réponse :).
      Cdt,

      Matthieu

  5. bonjour, tres novive mais motive, ayant suivi votre tuto , avec un tableau simple ( A1+A2=somme A3)j ai effectuer la copie sur feuille 2 rentrer nouvelle donnée sur feuille 1.au moment d utiliser la macros sur feuille 1 je retrouve le même calcule que sur la feuille 2 et non l addition des deux ou ais je fais mon erreur merci

  6. bonjour , j’ai acheter un logiciel turf et je ne sais pas faire comment ecrire et mettre des chiffres sur excel merci de répondre le plus vite possible merci encore

  7. Bonjour Matthieu,
    J’ai eu récemment un entretien pendant lequel il m’a été demandé si je savais faire des macros. Je ne savais pas; bien sûr, mon niveau en excel est basique. Par curiosité j’ai regardé ton tuto et j’ai réussi ma première macro (HOURRAAAAA!!)
    Mais par contre ça ne concerne que tout ce qui est calcul?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *