Message mis à jour : août 2021
Voici une question de lecteur :
J'ai un collègue qui utilise des macros Excel VBA pour analyser un tas de données. Pouvez-vous expliquer comment fonctionnent les macros et suggérer probablement un moyen pour moi d'acquérir cette compétence ? Tous les conseils simples pour les débutants sont très appréciés.
Merci pour la question.
Présentation des macros Excel 365
La maîtrise du développement de macros est probablement l'une des compétences les plus importantes requises pour devenir un utilisateur expérimenté d'Excel. Essentiellement, nous utilisons des macros VBA afin d'automatiser des tâches dans Excel (également dans Word, les macros sont très utiles ) qui auraient été autrement banales, ennuyeuses et très chronophages.
Voici quelques exemples de tâches que nous pouvons automatiser avec des macros dans Excel :
- Créer et manipuler des classeurs et des feuilles de calcul.
- Créer et manipuler des graphiques
- Importez des données à partir de fichiers ou d'autres systèmes.
- Analyser les données et créer/actualiser des graphiques et des tableaux de bord
- Personnalisez les formulaires pour recueillir les commentaires
- Envoyer des emails
- Et beaucoup plus…
Étant donné qu'Excel est livré avec un enregistreur de macros intégré (contrairement à Outlook et PowerPoint), il existe deux options principales pour ajouter une macro à un classeur Excel :
1) Enregistrer une séquence d'actions utilisateur qui est probablement facile à démarrer, mais qui ne s'adapte pas aux tâches complexes qui peuvent impliquer une interaction avec d'autres applications Office ou la manipulation de sous-ensembles de données plus volumineux.
2) Écrire vos macros en tirant parti de Visual Basic pour Applications (VBA). Il s'agit d'un langage procédural relativement simple qui vous permet de développer rapidement des automatisations plus complexes.
Dans cet article, nous couvrirons les deux cas. Nous allons commencer par vous montrer comment enregistrer votre macro et continuer en fournissant une procédure détaillée pour insérer des macros VBA dans des feuilles de calcul.
Nous allons faire une démonstration des deux options à l'aide d'une tâche très simple : nous allons automatiser l'ajout d'un nom de feuille de calcul "DEMO" à un classeur existant et y copier un tableau spécifique de Sheet1 .
Enregistrer les macros Excel 365 / 2019
Nous allons utiliser un exemple très simple pour décrire le processus. Veuillez procéder comme suit :
- Dans Excel, ouvrez un classeur existant ou créez-en un nouveau.
- Accédez à l'onglet Affichage dans le ruban supérieur.
- Dans le côté droit, vous remarquerez la section Macro.
- Appuyez sur Afficher et sélectionnez Enregistrer une macro.
- Le formulaire ci-dessous s'ouvrira. Donnez maintenant un nom à votre macro et stockez son contenu dans le classeur existant. Vous remarquerez peut-être qu'ici, vous pouvez facilement attribuer un raccourci clavier afin de pouvoir exécuter plus facilement la macro.
Conseil : Assurez-vous d'entrer une description détaillée de votre macro.

- Maintenant, appuyez sur OK.
- À ce stade, continuez et effectuez manuellement les étapes que vous souhaitez enregistrer - dans notre cas, je vais continuer et créer manuellement la nouvelle feuille de calcul, la renommer, puis copier le tableau à partir de Sheet1.
- Une fois cela fait, appuyez à nouveau sur Macros et sélectionnez Arrêter l'enregistrement.
- Si vous appuyez maintenant sur Macros, puis sélectionnez Afficher les macros, vous verrez une liste de toutes les macros stockées dans tous les classeurs ouverts (ou spécifiques)

- Si vous appuyez sur le bouton Modifier, l'éditeur Microsoft VBA s'ouvrira.
- L'éditeur VBA affiche le code qu'Excel vient de générer pour vous en arrière-plan. Dans la section suivante de ce didacticiel, je vais vous montrer comment vous pouvez écrire vous-même un morceau de code similaire.

Enregistrement de votre fichier activé par macro
Nous devons maintenant enregistrer le classeur. Comme il contient une macro, nous devons l'enregistrer en tant que fichier XSLM (Macro Enabled Excel File)
- Appuyez sur Fichier, puis sur Enregistrer
- Sélectionnez un emplacement sur votre ordinateur ou OneDrive dans lequel vous enregistrerez votre fichier.
- Donnez-lui un nom descriptif
- Sélectionnez .xslm comme Type de fichier.
- Appuyez sur OK.
- Bravo, vous venez d'enregistrer une simple macro !
Créer des macros Excel VBA
Comme nous l'avons mentionné précédemment, dans de nombreux cas, l'enregistreur de macros Excel sera insuffisant et ne répondra pas à tous vos besoins. Dans ces cas, vous devrez écrire votre propre code.
Conseil : Dans certains cas, vous souhaiterez peut-être utiliser une approche hybride pour la création de macros. Vous pouvez commencer par enregistrer votre macro, puis effectuer des ajustements manuels sur le code généré automatiquement avec VBA.
Mise en place de l'environnement de développement Excel
Celui-ci semble assez fantaisiste, mais est en fait assez simple. Si vous ne voyez pas d'onglet nommé Développeur dans votre ruban, commencez par activer l'onglet Développeur .
Une fois l'onglet Développeur rendu visible, votre ruban ressemblera à ceci :

Ecrire votre macro VBA
- Ouvrez votre fichier Excel.
- Dans le ruban, appuyez sur Développeur.
- Appuyez maintenant sur le bouton Visual Basic (ou appuyez sur Alt + F11).
- ALLEZ au Module1 et collez le code suivant :
Sub Write_Macro()
'This code creates a Macro named Write_Macro
Dim MySheet As New Worksheet
Dim MyTable As Range
' Create a worksheet programatically and call it TEST
Set MySheet = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
MySheet.Name = "TEST"
'Copy the table from Sheet1 into TEST worksheet
Set MyTable = Sheet1.Range("A1:C11")
With MyTable
.Copy Sheets("TEST").Range("A1")
End With
End Sub
- Fermez votre éditeur VBA.
- De retour dans Excel, appuyez sur Développeur.
- Cliquez maintenant sur Macro et consultez la liste des macros dans votre classeur. Vous remarquerez l'entrée Write_Macro, que nous écrivons simplement par nous-mêmes.

- Enregistrez votre feuille de calcul au format .xslm (fichier Excel compatible avec les macros)
Exécution de votre macro
L'exécution de votre macro est très simple : dans la boîte de dialogue Macro illustrée ci-dessus, mettez en surbrillance votre entrée Write_Macro et appuyez sur Exécuter.
Activation des autorisations de sécurité VBA
Dans Microsoft Office, les macros sont désactivées par défaut, afin d'éviter l'exécution de code nuisible. Si vous souhaitez exécuter vos macros, vous devez l'autoriser. Exécutez cette étape facultative au cas où vous auriez reçu un message d'erreur lors de l'exécution de l'une des deux macros que nous avons créées ci-dessus.
- Appuyez sur Développeur dans le ruban.
- Sélectionnez Sécurité des macros .
- Sélectionnez l' option Désactiver toutes les macros avec notification .
- Appuyez sur OK.
Remarque : Désactiver toutes les macros avec notification est le paramètre de sécurité recommandé pour les classeurs Excel contenant des macros. Cela fonctionne comme suit : lorsqu'un utilisateur ouvre un tel classeur, Excel affiche une notification "MACROS a été désactivée" juste au-delà de la barre de formule. Il appartient ensuite à l'utilisateur de décider d'activer les macros dans le classeur.
Emballer
Dans le court didacticiel d'aujourd'hui, nous avons appris à insérer des macros dans Office 365 Excel, soit en les enregistrant, soit en les écrivant directement à l'aide de Visual Basic pour Applications.
Ce n'est qu'une étape de départ pour que les débutants se familiarisent avec le développement Excel. Lecteurs nécessitant des solutions spécifiques, veuillez nous envoyer une demande via la page de contact .