VBA + Excel
Exemples de code VBA
AutoMacro : Complément VBA avec des Centaines d’exemples de code prêt à l’emploi et bien plus encore!
Recherchez dans la liste ci-dessous des exemples gratuits de code Excel VBA, accompagnés d’explications.
Certains incluent également des fichiers téléchargeables. Ces macros et scripts Excel VBA sont développés par des professionnels et prêts à l’emploi.
Nous espérons que cette liste vous sera utile!
Visitez notre page d’Exemples de Codes VBA en Francais pour trouver plus de 500 articles.
Exemples de code VBA | |
Tutoriels approfondis | yes |
Power Point VBA – Exemples et Didacticiels de Macros pour PowerPoint | |
VBA – Trier des Données | |
Utilisation de la fonction Rechercher et Remplacer dans Excel VBA | |
Exemples de Macros Word et Tutoriel VBA | |
Bases | yes |
VBA If, ElseIf, Else (Guide Ultime des Instructions If) | |
VBA Coller des Valeurs et Collage Spécial | |
VBA – Couper, Copier, Coller à l’Aide d’une Macro | |
Sauvegarder un fichier en VBA – 20 Exemples faciles | |
Concepts de codage VBA | yes |
| |
VBA – Comment Renommer ou Supprimer un Module ou un Formulaire? | |
Fonction VBA – Appel, Valeur de Retour et Paramètres | |
VBA On Error – Meilleures Pratiques de Gestion des Erreurs | |
VBA – Instruction Select Case | |
VBA – Exécuter une Macro à Partir d’une Autre Macro | |
VBA – Debug.Print et la Fenêtre d’Exécution | |
VBA – DoEvents | |
VBA – Quitter une Procédure ou une Fonction | |
VBA – Utilisation de “On Error” et “Exit Sub” | |
Boucles | yes |
VBA For Loop – Boucle dans une Plage de Cellules | |
Boucles Excel VBA – For Each, For Next, Do While, Imbriquées et Autres | |
VBA Exit For – Quitter une Boucle For | |
VBA – Quitter une Boucle Do (Exit Loop) | |
Plages et cellules | yes |
VBA – Plages et Cellules Excel | |
Formules Excel VBA – Le Guide Ultime | |
Excel VBA – Redimensionner une Plage | |
VBA – Obtenir la Colonne ou la Rangée de la Cellule Active | |
VBA – Sélectionner Toutes les Cellules | |
Valeur de cellule VBA – Obtenir, Définir ou Modifier | |
VBA – ClearContents / Effacer les cellules | |
VBA Destination de Copie (Copier une Plage vers une Autre Feuille) | |
VBA Plage Dynamique | |
VBA – Fusionner et Défusionner des Cellules | |
VBA – Décaler une Plage ou une Cellule | |
Plage VBA / Adresse de Cellule | |
VBA Fin de plage – Range.End (xlDown, xlUp, xlToRight, xlToLeft) | |
VBA Sélectionner des Plages / Cellules | |
VBA – Renvoyer le Texte à la Ligne | |
VBA – ActiveCell Offset | |
Lignes et colonnes | yes |
VBA – Sélectionner (et Interagir avec) des Lignes et des Colonnes Entières | |
Afficher ou Masquer Toutes les Lignes / Colonnes | |
VBA Copier / Coller des Lignes et des Colonnes | |
VBA – Supprimer une Ligne ou une Colonne Entière | |
VBA – Regrouper des Lignes et des Colonnes | |
VBA – Insérer une Ligne ou une Colonne | |
VBA – Définir les Largeurs de Colonnes ou Hauteurs de Lignes | |
VBA Used Range – Compter le Nombre de Lignes ou de Colonnes Utilisées | |
Feuilles | yes |
VBA – Compter les Feuilles dans un Classeur | |
VBA – Masquer (ou Afficher) une Feuille de Calcul | |
VBA – Comment Utiliser les Fonctions des Feuilles de Calcul (et une Liste Complète) | |
VBA – Macro pour Lister Toutes les Feuilles d’un Classeur | |
VBA – Effacer Toute la Feuille | |
VBA Copier une Feuille de Calcul | |
VBA – Obtenir le Nom d’une Feuille / Renommer une Feuille | |
VBA Protéger / Déprotéger les Feuilles de Calcul | |
Procédure VBA pour Ajouter et Nommer des Feuilles de Calcul | |
VBA – Sélectionner une Feuille, Activer une Feuille et Obtenir la Feuille Active | |
Classeurs | yes |
VBA – Créer un Nouveau Classeur (Workbooks.Add) | |
VBA – ActiveWorkbook et ThisWorkbook | |
VBA Ouvrir / Fermer un Classeur | |
VBA – Protection des Classeurs (Protection / Ôter la Protection par Mot de Passe) | |
VBA – Travailler avec des Classeurs (l’Objet Workbook) | |
Tableaux | yes |
Tableaux VBA | |
VBA Excel – Collections | |
VBA – Objet ArrayList | |
VBA – Déclarer (Dim), Créer et Initialiser une Variable de Type Tableau | |
VBA – Longueur / Taille des Tableaux | |
VBA – Effacer un Tableau – Fonction Erase | |
VBA Boucle à Travers un Tableau et ses Éléments | |
VBA – Rechercher une Valeur dans un Tableau | |
VBA – Retourner un Tableau avec une Fonction | |
Tableau Multidimensionnel VBA (Tableaux 2D) | |
VBA – Sortie d’un Tableau vers une Plage | |
Erreurs | yes |
Variables | yes |
Types de Données VBA – Variables et Constantes | |
VBA – Variable de Type Date | |
VBA – Variable Globale | |
VBA – Variables Publiques – Utiliser une Variable dans Plusieurs Modules ou Procédures | |
VBA – Variables Objets Plages (Dim / Set Range) | |
VBA – Type de Données Chaine de Texte (Dim String) | |
Paramètres | yes |
VBA – Désactiver (ou Activer) les Calculs Automatiques | |
VBA – Désactiver (ou Activer) la Barre de Formule | |
VBA – Désactiver la Mise à Jour de l’Écran | |
Texte et chaînes de caractères | yes |
VBA – Boucle dans une Chaîne de Texte | |
VBA – Suppression de Caractères à Gauche ou à Droite d’une Chaîne de Longueur Variable | |
VBA – Fonction CAR / Chr | |
Comparaison de Chaînes de Caractères en VBA – StrComp | |
VBA Concaténation de Chaînes de Texte Ensemble (Symbole &) | |
VBA – Convertir un Entier (nombre) en Chaîne de Caractères | |
VBA Convertir une Chaîne de Texte en Nombre | |
VBA Nouvelle Ligne / Retour Chariot | |
Fonctions VBA Chaînes et Sous-Chaînes | |
VBA – Séparer du Texte avec TextToColumns | |
VBA – Majuscules, Minuscules et Noms Propres – Fonctions de casse | |
Vue | yes |
Fichiers | yes |
VBA – Écrire dans un Fichier Texte | |
Vérifier l’Existence d’un Fichier ou d’un Dossier en VBA | |
VBA – Combiner Plusieurs Fichiers Excel en un Seul Classeur | |
VBA – Copier un Fichier / Classeur | |
VBA – Lister les Fichiers dans un Dossier | |
VBA – Boîte de Dialogue pour Ouvrir un Fichier | |
VBA – Renommer un Fichier | |
Formes, graphiques, objets | yes |
VBA – Filtres Automatiques | |
Guide VBA sur les Diagrammes et les Graphiques | |
Guide VBA des Tableaux Croisés Dynamiques | |
VBA – Tableaux et ListObjects | |
Mise en page | yes |
Utilisation de la Mise en Forme Conditionnelle en VBA | |
VBA – Police en Gras | |
VBA Police des Cellules – Modifier la couleur, la Taille, le Style et Plus Encore | |
VBA – Centrer du Texte – Alignement des Cellules (Horizontal et Vertical) | |
Formatage des Cellules en VBA | |
Format de date en VBA | |
Événements | yes |
VBA – Forcer l’Enregistrement d’un Classeur Avant sa Fermeture | |
VBA – Exécuter une Macro à l’Ouverture d’Excel | |
VBA Évènement Worksheet Change – Exécuter une Macro Lorsqu’une Cellule Change | |
UserForms, MsgBoxes et contrôles | yes |
VBA – Création de Forumulaires Utilisateur | |
Bouton d’Option en Excel VBA | |
Case à Cocher VBA | |
VBA – Zones de Liste Déroulante | |
VBA – Zone de Liste | |
VBA Ouvrir ou Fermer un Formulaire Utilisateur | |
Mise en page | yes |
Utilisation de la Mise en Forme Conditionnelle en VBA | |
VBA – Police en Gras | |
VBA Police des Cellules – Modifier la couleur, la Taille, le Style et Plus Encore | |
VBA – Centrer du Texte – Alignement des Cellules (Horizontal et Vertical) | |
Formatage des Cellules en VBA | |
Format de date en VBA | |
Div. | yes |
Effacer le Presse-Papiers avec Excel VBA | |
Excel VBA Enregistrer Sous (Imprimer) vers PDF | |
Excel VBA: Liste des Codes ColorIndex et couleurs RGB | |
Mise en Forme des Nombres dans Excel VBA | |
Comment Installer (ou Désinstaller) un Module Complémentaire VBA (fichier .xlam) pour Microsoft Excel? | |
Suppression des Valeurs Dupliquées dans Excel VBA | |
| |
VBA – Obtenir la Date d’Aujourd’hui (date actuelle) | |
VBA – Actualiser un Tableau Croisé Dynamique / Tous les Tableaux Croisés Dynamiques | |
VBA – Application.CutCopyMode = False – Qu’est-ce que c’est? | |
Fonction VBA Calculate – Maintenant, Classeur, Feuille de Calcul ou Plage | |
VBA – Appel / Exécution d’une Sous-Procédure à Partir d’une Autre Sous-Procédure | |
VBA – Aller à une Étiquette de Ligne (GoTo) | |
VBA – Plusieurs Instructions If (Imbriquées) | |
Fonctions VBA Wait et Sleep – Pause / Délai Code VBA | |
VBA – Désactiver Les Filtres Automatiques / Effacer les Filtres | |
VBA – Liste Déroulante (Validation des Données) | |
VBA – Hyperliens | |
VBA – Nombre Aléatoire | |
Fonctions | yes |
Utilisation de IsNumeric et IsNumber en VBA | |
VBA – Fonction NB en VBA (Count) | |
VBA- Fonctions NB.SI et NB.SI.ENS | |
VBA- Fonctions de Date | |
Fonctions d’Arrondissement : Round, RoundUp et RoundDown de VBA | |
Fonction VBA Split – Diviser une Chaîne de Texte en Tableau | |
VBA – Fonction Somme (Plages, Colonnes et Autres) | |
VBA – Fonctions SOMME.SI et SOMME.SI.ENS | |
Programmation avancée | yes |
VBA – Expressions Rationnelles (Regex) | |
VBA – Fonction SendKeys | |
Internet | yes |
Automatiser Internet Explorer (IE) à l’Aide de VBA | |
VBA – Envoyer des Courriels Depuis Excel via Outlook | |
Accéder | yes |
Mot | yes |
Exemples de Macros Excel
Vous trouverez ci-dessous une liste d’exemples de macros de base pour des tâches d’automatisation courantes dans Excel.
Copier et Coller une Ligne d’une Feuille à une Autre
Cette macro très simple permet de copier une ligne d’une feuille à l’autre.
Sub Coller_UneLigne()
'Copier et coller une ligne
Sheets("feuil1").Range("1:1").Copy Sheets("feuil2").Range("1:1")
Application.CutCopyMode = False
End Sub
Envoyer un Courriel
Cette macro bien utile lancera Outlook, rédigera un courriel et joindra le classeur actif.
Sub Envoyer_Courriel()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.to = "test@test.com"
.Subject = "Courriel Test"
.Body = "Corps du Message"
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Lister Toutes les Feuilles du Classeur
Cette macro répertorie toutes les feuilles d’un classeur dans une liste.
Sub ListerFeuilles()
Dim ws As Worksheet
Dim x As Integer
x = 1
ActiveSheet.Range("A:A").Clear
For Each ws In Worksheets
ActiveSheet.Cells(x, 1) = ws.Name
x = x + 1
Next ws
End Sub
Afficher Toutes les Feuilles de Calcul
Cette macro affiche toutes les feuilles de calcul du classeur actif.
' Afficher toutes les feuilles
Sub AfficherFeuilles()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
Masquer Toutes les Feuilles Sauf la Feuille Active
Cette macro masque toutes les feuilles de calcul à l’exception de la feuille de calcul active.
' Masquer toutes les feuilles sauf la feuille active
Sub MasquerFeuillesSaufActive()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then ws.Visible = xlSheetHidden
Next ws
End Sub
Retirer la Protection de Toutes les Feuilles de Calcul
Cet exemple de macro permet de retirer la protection de toutes les feuilles de calcul d’un classeur.
' Ôter la Protection de Toutes les Feuilles
Sub DeProtegerToutesFeuilles()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Unprotect "motdepasse"
Next ws
End Sub
Protéger Toutes les Feuilles
Cette macro protège toutes les feuilles de calcul d’un classeur.
' Protéger Toutes les Feuilles
Sub ProtegerToutesFeuilles()
Dim ws As Worksheet
For Each ws In Worksheets
ws.protect "motdepasse"
Next ws
End Sub
Supprimer Toutes les Formes
Cette macro supprime toutes les formes d’une feuille de calcul.
Sub SupprimerToutesFormes()
Dim GetShape As Shape
For Each GetShape In ActiveSheet.Shapes
GetShape.Delete
Next
End Sub
Supprimer Toutes les Lignes Vides d’une Feuille de Calcul
Cet exemple de macro supprime toutes les lignes vides d’une feuille de calcul.
Sub SupprimerLignesVides()
Dim x As Long
With ActiveSheet
For x = .Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If WorksheetFunction.CountA(.Rows(x)) = 0 Then
ActiveSheet.Rows(x).Delete
End If
Next
End With
End Sub
Mettre en Évidence les Valeurs Dupliquées dans la Sélection
Cette macro simple permet de mettre en évidence toutes les valeurs dupliquées dans une sélection.
' Surligner les Doublons dans la Sélection
Sub SurlignerDoublons()
Dim myRange As Range
Dim cell As Range
Set myRange = Selection
For Each cell In myRange
If WorksheetFunction.CountIf(myRange, cell.Value) > 1 Then
cell.Interior.ColorIndex = 36
End If
Next cell
End Sub
Surligner les Nombres Négatifs
Cette macro automatise la mise en évidence des nombres négatifs.
' Surligner les Nombres Négatifs
Sub SurlignerNombresNegatifs()
Dim myRange As Range
Dim cell As Range
Set myRange = Selection
For Each cell In myRange
If cell.Value < 0 Then
cell.Interior.ColorIndex = 36
End If
Next cell
End Sub
Mettre en Évidence les Rangées en Alternance
Cette macro est utile pour mettre en évidence les lignes en alternance.This macro is useful to highlight alternate rows.
' Surligner les Lignes en Alternance
Sub SurlignerLignesAlternances()
Dim cell As Range
Dim myRange As Range
myRange = Selection
For Each cell In myRange.Rows
If cell.Row Mod 2 = 1 Then
cell.Interior.ColorIndex = 36
End If
Next cell
End Sub
Mettre en Évidence les Cellules Vides dans la Sélection
Cette macro simple met en évidence les cellules vides d’une sélection.
' Surligner les Cellules Vides dans la Sélection
Sub SurlignerCellulesVides()
Dim rng As Range
Set rng = Selection
rng.SpecialCells(xlCellTypeBlanks).Interior.Color = vbCyan
End Sub
Exemples de Macros Excel VBA – Téléchargement Gratuit
Nous avons créé un Complément d’Exemples de Codes VBA (Macros) gratuit. Le complément contient plus de 100 exemples de macros prêtes à l’emploi, y compris les exemples de macros ci-dessus!
Page de Téléchargement
Macro Excel / FAQ VBA
Comment Écrire du Code VBA (Macros) dans Excel?
Pour écrire du code VBA dans Excel, ouvrez l’éditeur VBA (ALT + F11). Tapez « Sub HelloWorld », appuyez sur Entrée et vous avez créé une macro! OU Copiez et collez l’une des procédures énumérées sur cette page dans la fenêtre de code.
Qu’est-ce que Excel VBA?
VBA est le langage de programmation utilisé pour automatiser Excel.
Comment utiliser VBA pour automatiser Excel?
Vous utilisez VBA pour automatiser Excel en créant des macros. Les macros sont des blocs de code qui exécutent certaines tâches.
Pratiquer VBA
Vous pouvez pratiquer l’utilisation de VBA avec notre tutoriel interactif. Tutoriel VBA.