Vous êtes sur la page 1sur 22

Introduction

Vous avez entre les mains l’Almanach des macros VBA qui vous aidera à automatiser
votre travail sur Excel en 2024.

Au lieu de vous acharnez sur Excel pourquoi ne pas revenir régulièrement à cet Almanach
et voir si une macro pourrait faire le boulot à votre place. Ainsi vous n’aurez plus qu’à
appuyer sur un bouton et enchaîner sur d’autres tâches plus gratifiantes.

Cet Almanach sera enrichi avec le temps, au fur et à mesure des démonstrations faites
sur le compte Excel Pirate.

Lisez bien les instructions qui suivent afin de vous assurer une utilisation sans problème
de cet Almanach.

😊
Et souvenez-vous : En 2024 vous n’êtes qu’à une macro d’automatiser tout votre travail
sur Excel

2
Instructions

1. Activer l’onglet développeur

Si l’onglet Développeur n’est toujours pas actif sur votre Excel il faudra suivre ces étapes
pour l’activer.

Étape 1 : Aller dans l’onglet Fichier en haut à gauche

3
Étape 2 : Ensuite Aller dans Options

4
Étape 3 : Personnaliser le ruban

Étape 4 : Enfin cliquer sur l’onglet Développeur

5
Vous pouvez désormais voir l’onglet Développeur :

2. Où copier-coller vos nouvelles macros ?

⚠️Mise en Garde : Il faudra toujours faire une copie de votre fichier Excel avant

😊
d’implémenter une macro. Les macros apportent des modifications définitives à vos
fichiers. Donc assurez vous d’avoir un backup de votre fichier original

Étape 1 : Avant de commencer à jouer avec vos nouvelles macros il faudra d’abord faire
un petit tour dans l’interface Visual Basic.

Pour cela vous pouvez soit :

a) Cliquer sur Visual basic dans l’onglet développeur (entouré en violet dans l’image
au-dessus)

b) Ou simplement Utiliser le raccourci Alt + F11 (Sur PC portable ce sera Alt + Fn + F11)

6
L’interface Visual Basic s’affiche :

Étape 2 : Dans l’onglet Insertion cliquer sur Module afin d’insérer un nouveau module.

7
Une zone blanche apparaît appelée Module :

Étape 3 : C’est dans la zone blanche(module) qu’il faudra copier-coller la macro

8
💡 Notion importante : Une macro sera toujours délimitée par le mot clé Sub suivi de
son nom + () et End Sub qui mettra fin à la macro.

Exemple :

Sub NomDeLaMacro()

Les instructions de la macro

End Sub

3. Comment exécuter une macro

Vous avez 4 manières d’exécuter une macro :

a) Appuyer sur le bouton Exécuter juste en haut du module

9
b) Utiliser le raccourci F5 (Fn+F5 sur PC portable) lorsque vous êtes dans Visual Basic
et que le curseur de votre souris se trouve dans le module.

c) Aller dans le gestionnaire de macro et choisir la macro souhaitée

10
d) Aller dans Développeur puis Insérer un bouton

11
Clic droit sur le bouton et affecter une macro :

Choisir la macro souhaitée et valider :

12
Macro 1 : Ajuster les colonnes de
toutes les feuilles du classeur
Cette macro vous permet d’ajuster automatiquement toutes les colonnes de chaque
feuille de votre classeur.

Sub AjusterAUTO_Colonnes()

Dim Feuille as Worksheet

For each Feuille in ThisWorkbook.Worksheets


Feuille.Cells.EntireColumn.AutoFit
Next Feuille

End Sub

13
Macro 2 : Dupliquer la feuille active
Cette macro vous permet de dupliquer le nombre de fois souhaité la feuille active.

Sub DupliquerFeuille()

Dim NombreDeCopies As Integer


Dim Compteur As Integer

NombreDeCopies = InputBox("Entrez le nombre de copies à créer de


la feuille ")

If IsNumeric(NombreDeCopies) And NombreDeCopies > 0 Then


For Compteur = 1 To NombreDeCopies
ActiveSheet.Copy After:=Sheets(Sheets.Count)
Next Compteur
Else
MsgBox "Veuillez entrer un nombre valide."
End If

End Sub

14
Macro 3 : Afficher toutes les lignes
et colonnes
Cette macro vous permet d’afficher toutes les lignes et colonnes de chaque feuille du
classeur.

Sub AfficherTout()

Dim Feuille As Worksheet

For each Feuille in ThisWorkbook.Worksheets


Feuille.Cells.EntireRow.Hidden = False
Feuille.Cells.EntireColumn.Hidden = False
Next Feuille

End Sub

15
Macro 4 : Défusionner toutes les
cellules du classeur
Cette macro vous permet de défusionner toutes les cellules de chaque feuille du classeur.

Sub DefusionnerCellules()

Dim Feuille As Worksheet

For each Feuille in ThisWorkbook.Worksheets


Feuille.Cells.UnMerge
Next Feuille

End Sub

16
Macro 5 : Désactiver l’affichage
des erreurs dans les formules
Cette macro enveloppe toutes les formules du classeur avec If Error pour afficher un
espace vide au lieu d’une erreur.

Sub AjouterIfErrorDansToutLeClasseur()

Dim Feuille As Worksheet


Dim Cellule As Range

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

For Each Feuille In ThisWorkbook.Worksheets


For Each Cellule In Feuille.UsedRange
If Cellule.HasFormula Then
Cellule.Formula = "=IFERROR(" &
Mid(Cellule.Formula, 2) & ", """")"
End If
Next Cellule
Next Feuille

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub

17
Macro 6 : Trier les feuilles par
ordre alphabétique
Cette macro vous permet de trier les onglets du classeur par ordre alphabétique.

Sub TriageAlpha()

Dim Compteur As Integer, Compteur2 As Integer


Dim Min As Integer

For Compteur = 1 To ThisWorkbook.Sheets.Count - 1


Min = Compteur

For Compteur2 = Compteur + 1 To ThisWorkbook.Sheets.Count


If Sheets(Compteur2).Name < Sheets(Min).Name Then
Min = Compteur2
End If
Next Compteur2

If Min <> Compteur Then


Sheets(Min).Move before:=Sheets(Compteur)
End If
Next Compteur

End Sub

18
Macro 7 : Verrouiller toutes les
cellules avec formules
Cette macro vous permet de verrouiller les cellules avec formules de tout le classeur.

Sub VerrouillerCellulesAvecFormules()

Dim Feuille As Worksheet


Dim Cellule As Range

For Each Feuille In ThisWorkbook.Worksheets


For Each Cellule In Feuille.Cells
If cell.HasFormula Then
cell.Locked = True
End If
Next Cellule
Next Feuille

End Sub

19
Macro 8 : Insérer une ligne vide
entre chaque ligne
Cette macro vous permet d’insérer une ligne vide entre chaque ligne de la plage
sélectionnée.

Sub InsertAlternateRows()

Dim plage As Range


Dim Numligne As Long
Dim Compteur As Long

Set plage = Selection


Numligne = plage.Rows.Count

For Compteur = plage.Row + Numligne - 1 To plage.Row Step -1


Rows(Compteur + 1).Insert
Rows(Compteur + 1).ClearFormats
Next Compteur

End Sub

Pour que la macro fonctionne correctement sélectionnez la plage dans laquelle vous
voulez insérer une ligne sur 2 et exécutez la macro (voir instructions)

20
Macro 9 : Masquer toutes les
feuilles sauf la feuille active
Cette macro vous permet de masquer toutes les feuilles du classeur sauf la feuille la plus
importante pour votre analyse.

Sub MasquerAutresFeuilles()

Dim feuille As Worksheet


For Each feuille In ThisWorkbook.Worksheets
If Not feuille Is ActiveSheet Then
feuille.Visible = xlSheetHidden
End If
Next feuille

End Sub

Note : Pour que la macro fonctionne placez vous sur la feuille que vous voulez garder
afficher et exécuter la macro (voir les instructions).

21
Macro 10 : Exporter une feuille en
PDF
Cette macro vous permet d’exporter la feuille de votre choix en PDF. Le PDF sera
enregistré dans l’emplacement de votre fichier Excel.

Sub ExporterFeuilleActiveEnPDF()

Dim NomFichier As String


NomFichier = ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
ActiveSheet.PageSetup.CenterHorizontally = True
ActiveSheet.ExportAsFixedFormat
Type:=xlTypePDF,Filename:=NomFichier

End Sub

Note : Pour que la macro fonctionne placez-vous sur la feuille que vous voulez exporter
en PDF et exécuter la macro (voir les instructions).

22

Vous aimerez peut-être aussi