VBA + Excel

Exemples de code VBA


editeur vba barre outils fonction code derniere ligne.png

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 approfondisyes
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
Basesyes
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 VBAyes
Commentaires en VBA
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”
Bouclesyes
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 cellulesyes
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 colonnesyes
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
Feuillesyes
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
Classeursyes
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)
Tableauxyes
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
Erreursyes
Variablesyes
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ètresyes
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èresyes
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
Vueyes
Fichiersyes
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, objetsyes
VBA – Filtres Automatiques
Guide VBA sur les Diagrammes et les Graphiques
Guide VBA des Tableaux Croisés Dynamiques
VBA – Tableaux et ListObjects
Mise en pageyes
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énementsyes
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ôlesyes
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 pageyes
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 – Ajouter ou Supprimer des Commentaires de Cellule
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
Fonctionsyes
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éeyes
VBA – Expressions Rationnelles (Regex)
VBA – Fonction SendKeys
Internetyes
Automatiser Internet Explorer (IE) à l’Aide de VBA
VBA – Envoyer des Courriels Depuis Excel via Outlook
Accéderyes
Motyes

AI Formula Generator

Essayez gratuitement


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!

excel vba examples free download
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.

practice vba macros