VBA – Exécuter une Macro à l’Ouverture d’Excel

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on août 22, 2022

Vous avez besoin d’exécuter une macro au démarrage d’Excel? Vous avez deux possibilités :

1. Créer une procédure « Workbook_Open() » dans le module nommé ‘ThisWorkbook’.

2. Placez une procédure « Auto_Open() » dans n’importe quel module.

Événement Workbook_Open

Créez une procédure nommée ‘Workbook_Open’ dans ‘ThisWorkbook’

Private Sub Workbook_Open()
    MsgBox ("Ce code s'est exécuté au démarrage d'excel")
End Sub

Procédure Auto_Open

En utilisant la deuxième méthode : Il suffit de créer une procédure appelée Auto_Open et d’y placer du code, ou d’appeler une autre procédure à partir de celle-ci. Votre code s’exécute automatiquement au démarrage d’Excel.

Private Sub Auto_Open()
    MsgBox ("Ce code s'est exécuté au démarrage d'Excel!")
End Sub

Créer et Nommer une Nouvelle Feuille de Calcul à Chaque Ouverture d’Excel

Le code suivant fonctionne à l’ouverture d’un classeur. Il ajoute automatiquement une nouvelle feuille et la renomme selon la date. Il vérifie également que la feuille n’existe pas déjà – pour tenir compte de la possibilité qu’elle soit ouverte plus d’une fois par jour.

Ce code utilise l’événement d’ouverture du classeur et doit être placé dans le module nommé « ThisWorkbook » sous l’événement « Workbook_Open ». La fonction « FeuilleExiste » doit être placée dans un module et elle vérifie si la feuille existe ou non :

Private Sub Workbook_Open()

Dim Nom_Nouvelle_Feuille As String

Nom_Nouvelle_Feuille = Format(Now(), "dd-mm-yy")

If FeuilleExiste(Nom_Nouvelle_Feuille) = False Then
    With Workbook
        Worksheets.Add().Name = Nom_Nouvelle_Feuille
    End With
End If

Save

End Sub
Function FeuilleExiste(Nom_Feuille As String) As Boolean

Dim Feuille As Worksheet

Sheet_Exists = False

For Each Feuille In ThisWorkbook.Worksheets
    If Feuille.Name = Nom_Feuille Then
        FeuilleExiste = True
    End If
Next Feuille

End Function

Pour télécharger le fichier .XLSM de ce tutoriel, cliquez ici

Définir la Feuille par Défaut à l’Ouverture du Classeur

Voulez-vous vous assurer qu’une feuille s’affiche toujours en premier lorsqu’un classeur s’ouvre? Par exemple, lorsque vous ouvrez un classeur, la feuille 3 est toujours la feuille active. Voici comment procéder.

En VBA, vous pouvez faire référence à une feuille par son nom de programme (par exemple Feuil3) ou par son nom d’onglet (par exemple DonnéesJanvier). Il est préférable d’utiliser le nom du programme, car si le nom de l’onglet change, votre code VBA qui fait référence à un nom d’onglet ne fonctionnera plus. Cependant, si vous utilisez le nom du programme, l’utilisateur peut changer le nom de l’onglet plusieurs fois et votre macro fonctionnera toujours.

Pour s’assurer qu’une certaine feuille est toujours activée à l’ouverture d’un classeur, il suffit d’utiliser la fonction Activate de l’objet Worksheet dans la procédure Workbook_Open. Voici un exemple qui active la feuille 3 en utilisant le nom du programme chaque fois qu’un classeur s’ouvre.

Private Sub Workbook_Open()
   Feuil3.Activate
End Sub

Le code suivant active la feuille en utilisant plutôt le nom de l’onglet :

Private Sub Workbook_Open()
   Sheets("NomOnglet").Activate
End Sub

Remarque : vous devez enregistrer et redémarrer Excel pour que cela fonctionne. Remarque : cela ne fonctionne que si les macros sont activées.
Remarque : mettez ce code dans la fenêtre de code de l’objet ThisWorkbook dans le VBE.

Charger un Formulaire à Chaque Ouverture du Classeur

Si vous souhaitez charger un formulaire ou exécuter un code VBA lorsque vous ouvrez un classeur Excel, placez votre code dans la fenêtre de code de l’objet ThisWorkbook et dans la procédure Workbook_Open.

Depuis votre feuille de calcul :
1. Appuyez sur ALT et F11 pour ouvrir l’éditeur VB
2. Double-cliquez sur le mot ThisWorkbook pour ouvrir la fenêtre de code
3. Tapez le code suivant dans la fenêtre de code ThisWorkbook

Private Sub Workbook_Open()
   Formulaire1.Show
End Sub

Sidenote : Remplacez Formulaire1 par le nom de votre formulaire. Fermez Excel et ouvrez-le à nouveau.

La Programmation VBA Simplifiée

Ne cherchez plus de code VBA en ligne. Découvrez AutoMacro – un générateur de code VBA qui permet aux débutants de créer leurs propres procédures, avec des connaissances minimales en programmation et de nombreuses fonctionnalités permettant à tous les utilisateurs de gagner du temps!

alt text

 

En savoir plus !

 

<<Retour aux exemples VBA

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA