[vba] démarrer une macro au démarrage

Résolu
andy_kaufmann Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
andy_kaufmann Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaite qu'une macro s'auto-exécute au demarrage (non, c'est pas pour un virus...).
Quelqu'un peut-il m'aider là-dessus ?

Merci

3 réponses

  1. g Messages postés 1285 Statut Membre 578
     
    Bonjour,
    Pour Excel, dans ThisWorkbook :

    Private Sub Workbook_Open()
    Le nom de ta macro
    End Sub

    Bonne soirée.
    4
    1. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
       
      Bonjour,

      à savoir qu'une procédure nommée :

      Sub auto_open() 
      MsgBox "bonjour" 
      End Sub


      et placée dans un module standard se déclenchera également dès l'ouverture du fichier, pour peu que les macros soient activées (condition également nécessaire pour le Workbook_Open)

      Edit, cependant, cette procédure s'exécutera après celle du Workbook_Open

      Bonne journée
      0
  2. andy_kaufmann Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   6
     
    Salut g, merci pour ta réponse.

    C'est pas plutôt

    Private Sub NomMacro_Open()

    code

    End Sub

    merci, andy
    0
    1. g Messages postés 1285 Statut Membre 578
       
      Non, c'est bien

      Private Sub Workbook_Open()
      Le nom de ta macro *
      End Sub

      * La macro se trouvant dans un module standard

      Bonne soirée.
      0
    2. andy_kaufmann Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   6
       
      ok, donc c'est une macro séparée qui s'exécute lors de l'ouverture de la feuille ?
      en gros, il y a deux macros distinctes, l'une qui fait ce que je veux, et l'autre qui fait qu'elle s'exécute au démarrage ?

      andy
      0
    3. g Messages postés 1285 Statut Membre 578
       
      C'est tout à fait cela.

      La macro "principale" est contenue dans le module standard et celle contenue dans ThisWorkbook la commande à l'ouverture du classeur.

      Maintenant si tu mets le code de la macro "principale" dans ThisWorkbook entre

      Private Sub Workbook_Open()
      et
      End Sub

      ça fonctionnera aussi.

      Seulement l'intérêt de la première solution est de pouvoir utiliser la macro "principale" à d'autres occasions ainsi que de pouvoir ajouter facilement des commandes à l'ouverture du classeur.
      0
  3. andy_kaufmann Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   6
     
    ok, merci pour vos réponses !!

    bonnes fêtes
    0