M117:
COMPETENCES NUMERIQUE
ET INFORMATIQUES
PR: WIJDANE EL HADRI
Filières: SDBDIA, SITCN, IL et MGSI
December 8, 2024
December 8, 2024 1 / 29
Initiation aux macros
programmées en VBA
December 8, 2024 2 / 29
Plan de la première partie
1 Initiation aux macros programmées en VBA
Comment créer une macro simple?
Visual Basic pour Applications (VBA)
Exécuter une macro
2 Macros complexes
December 8, 2024 3 / 29
Initiation aux macros programmées en VBA
Initiation aux macros programmées en VBA
La macro Excel fait référence à une série d’instructions d’opération écrites avec le langage
de programmation intégré d’Excel VBA (Visual Basic pour les applications) et peut
s’exécuter dans l’environnement Excel.
La macro est un outil permettant de réaliser automatiquement un travail répétitif. Elle
peut vous aider à réaliser automatiquement des tâches répétitives et par lots. Tant que
vous savez utiliser Excel, vous pouvez apprendre à enregistrer et à utiliser des macros
pour améliorer l’efficacité du travail. Ensuite, étape par étape, apprenez-vous à enregistrer
une macro simple et à l’exécuter !
December 8, 2024 4 / 29
Initiation aux macros programmées en VBA Comment créer une macro simple?
Comment créer une macro simple?
Étape 1: Activer l’onglet Développeur
Pour enregistrer et gérer des macros, vous devez utiliser l’onglet développeur du menu
principal. Par défaut, Excel n’affiche pas cet onglet, qui doit être personnalisé.
1 Appuyez sur l’onglet Fichier, puis clique sur Options,
2 dans la fenêtre des options Excel, clique sur Personnaliser le ruban.
3 Coche la case Développeur (Développer) et clique sur OK. L’onglet Développeur va
maintenant apparaître dans le ruban.
December 8, 2024 5 / 29
Initiation aux macros programmées en VBA Comment créer une macro simple?
Comment créer une macro simple?
Étape 2: Enregistrer une macro
Excel permet d’enregistrer des macros sans avoir à écrire de code. C’est un moyen simple de
démarrer.
1 Clique sur l’onglet Développeur, puis sur Enregistrer une macro.
2 Donne un nom à vôtre macro (par exemple, Macro), et, si vous souhaitez, assigne-lui un
raccourci clavier.
3 Choisis où vous voulez enregistrer la macro:
• Ce classeur: la macro sera disponible seulement dans ce fichier Excel.
• Nouveau classeur: la macro sera enregistrée dans un nouveau fichier Excel.
• Classeur personnel de macros: la macro sera enregistrée dans un fichier spécial, et sera
accessible à partir de n’importe quel fichier Excel que vous ouvrez sur vôtre ordinateur.
4 Clique sur OK, puis commencez à effectuer les actions que vous voulez automatiser.
5 Une fois terminé, cliquez sur Arrêter l’enregistrement dans l’onglet Développeur.
December 8, 2024 6 / 29
Initiation aux macros programmées en VBA Visual Basic pour Applications (VBA)
Visual Basic pour Applications (VBA)
⇒ Les macros créées via l’enregistrement sont basées sur du code écrit en VBA. Tu peux aussi
créer ou modifier des macros en écrivant directement du code VBA. Pour accéder à l’éditeur
VBA:
1 Clique sur Visual Basic dans l’onglet Développeur. Cela ouvre l’éditeur VBA.
2 Dans l’éditeur, vous verrez une structure de projet avec les feuilles de vôtre classeur à
gauche.
3 Vous pouvez voir et modifier le code des macros en sélectionnant un module dans lequel
la macro est enregistrée.
December 8, 2024 7 / 29
Initiation aux macros programmées en VBA Visual Basic pour Applications (VBA)
Visual Basic pour Applications (VBA)
Exemple de code VBA: Voici un exemple simple de code VBA pour une macro qui copie les
valeurs d’une plage de cellules (par exemple A1 ) dans une autre (par exemple B1).
Sub CopierValeurs()
’ Copier les valeurs de A1:A10 dans B1:B10
Range("A1:A10").Copy
Range("B1:B10").PasteSpecial Paste:=xlPasteValues
End Sub
1 Sub CopierValeurs(): Démarre la macro. Tu peux donner n’importe quel nom à la macro.
2 Range("A1").Copy: Sélectionne la plage A1 et la copie.
3 Range("B1 ").PasteSpecial Paste:=xlPasteValues: Colle les valeurs seulement (pas les
formules ou formats) dans la plage B1 .
4 End Sub: Fin de la macro.
Remarque: Vous pouvez exécuter cette macro en cliquant sur le bouton Exécuter dans
l’éditeur VBA ou en l’assignant à un bouton dans Excel. December 8, 2024 8 / 29
Initiation aux macros programmées en VBA Exécuter une macro
Exécuter une macro
Il y a plusieurs façons d’exécuter une macro:
➤ Depuis l’éditeur VBA: Clique sur le bouton Exécuter dans l’éditeur.
➤ Depuis l’interface Excel: Tu peux aussi affecter une macro à un bouton. Pour cela :
1 Clique sur Insérer dans l’onglet Développeur et choisis un bouton.
2 Dessine le bouton sur ta feuille de calcul.
3 Une fenêtre s’ouvre te demandant de sélectionner la macro à affecter au bouton. Choisis la
macro souhaitée.
Notes:
Sécurité des macros: Les macros peuvent contenir du code malveillant. Excel bloque par
défaut l’exécution de macros provenant de sources non sûres. Sois toujours prudent et ne
lance que des macros en lesquelles tu as confiance.
Débogage: Si ta macro ne fonctionne pas correctement, tu peux utiliser des points d’arrêt
et la fenêtre "Exécution" dans l’éditeur VBA pour examiner les valeurs des variables et l’état
du programme à chaque étape.
December 8, 2024 9 / 29
Initiation aux macros programmées en VBA Exécuter une macro
Boucles: Pour répéter des actions plusieurs fois. Exemple: Copier les valeurs de chaque
ligne de A1 dans B1.
Sub CopierLignes()
Dim i As Integer
For i = 1 To 10
Range(”A”&i).Copy
Range(”B”&i).PasteSpecial Paste:=xlPasteValues
Next i
End Sub
Fonctions personnalisées: Vous pouvez créer des fonctions dans VBA pour utiliser des
calculs complexes. Par exemple:
Function Additionner(a As Double, b As Double) As Double
Additionner = a + b
End Function
December 8, 2024 10 / 29
Macros complexes
Macros complexes
December 8, 2024 11 / 29
Macros complexes
Macros complexes
December 8, 2024 12 / 29
Macros complexes
Macros complexes
December 8, 2024 13 / 29
Macros complexes
Macros complexes
December 8, 2024 14 / 29
Macros complexes
Macros complexes
December 8, 2024 15 / 29
Macros complexes
Macros complexes
December 8, 2024 16 / 29
Macros complexes
Macros complexes
December 8, 2024 17 / 29
Macros complexes
Macros complexes
December 8, 2024 18 / 29
Macros complexes
Macros complexes
December 8, 2024 19 / 29
Macros complexes
Macros complexes
December 8, 2024 20 / 29
Macros complexes
Macros complexes
December 8, 2024 21 / 29
Macros complexes
Macros complexes
December 8, 2024 22 / 29
Macros complexes
Macros complexes
December 8, 2024 23 / 29
Macros complexes
Macros complexes
December 8, 2024 24 / 29
Macros complexes
Macros complexes
December 8, 2024 25 / 29
Macros complexes
Macros complexes
December 8, 2024 26 / 29
Macros complexes
Macros complexes
December 8, 2024 27 / 29
Macros complexes
Macros complexes
December 8, 2024 28 / 29
Macros complexes
Macros complexes
December 8, 2024 29 / 29
Macros complexes
Macros complexes
December 8, 2024 30 / 29