Macros Excel pour Débutants
Ce que les Macros Peuvent Faire Pour Vous
Une macro est essentiellement un enregistrement de vos actions Excel que vous pouvez rejouer à tout moment. Si vous vous retrouvez à répéter la même séquence d'opérations encore et encore — formater ce rapport, nettoyer cette exportation de données, créer ce graphique — vous avez trouvé un candidat à l'automatisation. Les macros transforment les tâches répétitives en opérations en un clic, vous faisant gagner des heures chaque semaine.
Vous n'avez pas besoin d'être programmeur. L'Enregistreur de Macros d'Excel capture vos frappes et clics de souris, les traduisant automatiquement en code VBA (Visual Basic for Applications). Une fois enregistrée, vous exécutez la macro via un bouton, un raccourci clavier ou un événement de classeur.
Étape par Étape : Enregistrer Votre Première Macro
Scénario : Chaque lundi, vous recevez un rapport de ventes brut qui nécessite la même mise en forme : en-têtes en gras, format monétaire sur la colonne des revenus, ajustement automatique des colonnes, figer la ligne supérieure et ajouter une ligne de totaux. Automatisez-le.
Étape 1 — Activer l'onglet Développeur
- Clic droit n'importe où sur le Ruban > Personnaliser le Ruban.
- Dans le panneau de droite, cochez Développeur. Cliquez sur OK.
- L'onglet Développeur apparaît maintenant dans le Ruban — c'est votre centre de contrôle des macros.
Étape 2 — Planifiez et entraînez-vous avant d'enregistrer
- L'Enregistreur de Macros capture chaque clic et frappe — y compris les erreurs. Entraînez-vous d'abord sur votre séquence exacte sans enregistrer.
- Pour formater un rapport, votre séquence pourrait être : tout sélectionner (Ctrl+A), en-têtes en gras (Ctrl+B), formater la colonne des revenus en monétaire (Ctrl+Shift+$), ajuster automatiquement les colonnes (tout sélectionner > double-cliquer sur une limite de colonne), figer la ligne supérieure (Affichage > Figer les volets > Figer la ligne supérieure).
- Entraînez-vous à chaque opération. Utilisez les raccourcis clavier quand c'est possible — ils produisent un code VBA plus propre que les clics de souris.
Étape 3 — Enregistrer la macro
- Développeur > Enregistrer une macro.
- Nom de la macro :
FormatWeeklyReport(sans espaces, descriptif). - Touche de raccourci : Ctrl+Shift+R (utilisez toujours Ctrl+Shift pour éviter d'écraser les raccourcis intégrés comme Ctrl+C).
- Stocker la macro dans : Classeur de Macros Personnelles si vous l'utiliserez dans tous les fichiers, ou Ce Classeur si seulement pour ce fichier.
- Description : "En-têtes en gras, format monétaire des revenus, ajustement automatique des colonnes, figer la ligne supérieure, ajouter des totaux."
- Cliquez sur OK. L'enregistrement démarre — la barre d'état affiche un bouton d'arrêt.
Étape 4 — Exécutez chaque action de mise en forme avec soin
- Appuyez sur Ctrl+A pour sélectionner toutes les données.
- Appliquer le gras aux en-têtes : sélectionnez la ligne 1, Ctrl+B.
- Formater la colonne des revenus : sélectionnez la colonne C, Ctrl+Shift+$ (format monétaire).
- Ajuster automatiquement les colonnes : appuyez sur Ctrl+A, puis double-cliquez sur n'importe quelle limite de colonne dans l'en-tête.
- Figer la ligne supérieure : Affichage > Figer les volets > Figer la ligne supérieure.
- Ajouter une ligne de totaux : sélectionnez la dernière ligne vide sous les données, tapez
=SUM(C2:C100), mettez en gras et en format monétaire. - Cliquez sur Développeur > Arrêter l'enregistrement (ou cliquez sur le bouton d'arrêt carré dans la barre d'état).
Étape 5 — Testez sur une copie vierge
- Créez une copie du rapport brut de la semaine prochaine (testez toujours les macros sur des copies d'abord — il n'y a pas de fonction Annuler pour les macros).
- Appuyez sur Ctrl+Shift+R (votre raccourci attribué).
- Regardez Excel exécuter toutes les étapes de mise en forme en moins d'une seconde. Votre tâche hebdomadaire de 5 minutes est maintenant instantanée.
- Si quelque chose s'est mal passé : Développeur > Macros > sélectionnez votre macro > Modifier, pour voir et modifier le code VBA.
Techniques Clés
Technique 1 — Utiliser les références relatives pour des macros flexibles
Par défaut, les macros enregistrent des références absolues (toujours sélectionner B2). Pour les macros qui doivent fonctionner où que se trouve votre curseur :
- Développeur > Utiliser les références relatives (activez-le avant d'enregistrer).
- Maintenant, si vous « descendez de 3 cellules et tapez SOMME », la macro répète ce mouvement relatif quelle que soit la cellule de départ — parfait pour les macros appliquées à différentes positions.
Technique 2 — Ajouter un bouton à votre feuille de calcul
- Développeur > Insérer > Bouton (Contrôle de formulaire). Dessinez un rectangle sur votre feuille.
- La boîte de dialogue Affecter une macro apparaît — sélectionnez votre macro et cliquez sur OK.
- Clic droit sur le bouton > Modifier le texte pour l'étiqueter « Formater le rapport ».
- Les boutons rendent les macros accessibles à toute personne ouvrant le classeur — pas besoin de se souvenir des raccourcis clavier.
Erreurs Courantes
- Enregistrer des actions inutiles. L'enregistreur capture le défilement, les sélections accidentelles de cellules et les modifications de mise en forme non intentionnelles. Examinez le code enregistré (Alt+F11) et supprimez les lignes sans signification.
- Ne pas désactiver la mise à jour de l'écran. Regarder la macro scintiller à travers chaque sélection de cellule est lent et distrayant. Ajoutez
Application.ScreenUpdating = Falseau début etApplication.ScreenUpdating = Trueà la fin pour une amélioration de vitesse de 5 à 10 fois. - La sécurité des macros bloque votre travail. Excel bloque par défaut les macros provenant de sources non fiables. Enregistrez les classeurs contenant des macros au format .xlsm. Lors du partage, demandez aux destinataires d'Activer le contenu lorsque l'avertissement de sécurité apparaît.
- Pas de fonction Annuler disponible. Les macros vident la pile d'annulation. Testez toujours d'abord sur une copie des données.
Conseils Avancés
- Modifier le code enregistré pour plus d'efficacité : Les macros enregistrées utilisent abondamment
SelectetActivate(lent). Modifiez pour une manipulation directe des objets : changezRange("A1").Select: Selection.CopyenRange("A1").Copy Destination:=Range("B1"). - Événements de classeur pour déclencheurs automatiques : Utilisez
Workbook_Open()pour exécuter une macro à l'ouverture d'un fichier, ouWorksheet_Change()pour réagir aux modifications de cellules. Cela élimine entièrement l'exécution manuelle des macros. - Fonctions personnalisées avec VBA : Écrivez une fonction VBA comme
Function Commission(Sales) As Double: Commission = Sales * 0.1: End Function, puis utilisez-la dans les feuilles comme=Commission(A2). Étendez la bibliothèque de formules d'Excel avec votre logique métier.