Macro dans un classeur qui s'exécute sur un autre classeur

Bonjour,

je cherche à créer des applicatifs Excel au format xlsm qui, une fois ouvert, vont exécuter leurs macros dans un autre classeur préalablement ouvert.

Explications :

j'ai affiché à l'écran un classeur A au format xlsx, xls ou csv qui nécessite une mise en page

j'ai sur mon bureau un classeur B au fomat xlsm qui contient la macro de mise en page

mon but est que quand j'ouvre mon classeur B, la macro qu'il contient s'exécute sur le classeur A

Merci de votre aide

Salut Clemcaze,

une fois que tu as ouvert le fichier B, tu reviens vers le fichier A contenant la Sub de mise en page.
Dans ce fichier A, tu auras pris soin de mettre dans 'ThisWorkbook' Workbook_Activate() , un code équivalent à celui-ci que j'utilise tous les jours sans souci.

For Each sWkb In Workbooks
    'Teste la présence d'un fichier de demande de congés en provenance d'un agent
    If UCase(sWkb.Name) Like "CONGES-*.XLSX" And InStr(sWkb.Sheets(1).[M5], "Demande") > 0 Then
        With sWkb
            ...
            Ton code
            ...
        End With
        Exit For
    End If
Next

À adapter évidemment en fonction des particularités uniques et connues de tes différents fichiers...


A+

Bonjour

Bonjour à tous

Une autre méthode qui consiste à associer au préalable (et une fois pour toutes) le lancement d’une macro à la frappe simultanée sur 2 touches du clavier.

Pour cela cliquer, le fichier contenant la macro étant ouvert,

  • Cliquer sur « Développeur » puis « macro » dans le bandeau
  • Sélectionner la macro concernée
  • Cliquer sur « Option » dans la boîte de dialogue
  • Saisir une touche de raccourci dans le TextBox ex « d »
  • Cliquer sur OK
  • Enregistrer le fichier

Désormais, la macro s’exécutera dès que tu saisiras simultanément les touches « Ctrl » et « d », à partir de la feuille active.

Tu n’auras donc plus qu’à ouvrir le fichier qui contient ta macro puis ton fichier B et faire :’’ Ctrl ‘’+ ‘’d’’

OK ?

Bye !

Rechercher des sujets similaires à "macro classeur qui execute"