Appel d'une macro d'un autre fichier

Bonjour

Je créé à partir d'un fichier excel modèle, un nouveau fichier avec un autre nom. Ensuite dans ce nouveau fichier, je voudrais utiliser les macros du modèle sans l'ouvrir. Je pense qu'il faut utiliser la fonction RUN mais je ne l'ai jamais utiliser donc je ne sais pas comment et ou l'inscrire dans mon code.

Voir le fichier joint en format xlsm

Merci d'avance pour votre aide

Bonjour,

exemple à adapter au nom de votre fichier et nom de la macro

Application.Run ("MonModele.xlsm!MaMacro")

Bonjour

J'avance avec votre code. J'ai recréé un nouveau bonton dans mon formulaire avec le code RUN.

Private Sub CommandButton1_Click()

Application.Run "'R:\2.DOCUMENTS GENERAUX\3.MODELES\PERSONNEL_ABSENCES - NDF\NOTES DE FRAIS.xltm'!Module1.CALCULETCONTROL"

End Sub

Il me reste deux problèmes :

  • cela relance toute la procédure et pas seulement la macro enregistrée dans un module1 c'est à dire qu'il me relance l'apparition d'un USERFORM et il me créé un nouveau document enregistré
  • quand j'insiste il fini par me mettre un message erreur qui me dis qu'il ne peut pas ouvrir la macro

Je vous précise l'environnement dans lequel je travaille : le fichier modèle se trouve sur un serveur, le nouveau document est enregistré sur le même serveur, je travaille en TSE. le fichier modèle sera utilisé par tous.

Merci pour votre aide

Bonjour,

Pour faire appel à une macro d'un autre fichier, ce dernier doit être ouvert.

Bonjour

Voilà un début de piste. Private Sub CommandButton1_Click()

' OUVRIR FICHIER NOTES DE FRAIS POUR UTILISER LES MACROS

Workbooks.Open Filename:= _

"P:\MACRO\NOTES DE FRAIS.xltm" _

, Editable:=True

' APPEL POUR L'UTILISATION DES MACROS

Application.Run ("'R:\2.DOCUMENTS GENERAUX\3.MODELES\PERSONNEL_ABSENCES - NDF\NOTES DE FRAIS.xltm'!Module1.macro2")

' FERMETURE DU FICHIER NOTES DE FRAIS

'

'

Windows("NOTES DE FRAIS.xltm").Activate

ActiveWindow.Close

End Sub

Pouvez-vous me dire pourquoi il travaille la macro sur le fichier modèle et non pas sur celui ouvert de type NDFNOMDELAPERSONNEDATE? Il faut que je travaille avec des variables? Pouvez-vous me donner un code, svp?

Bonjour,

à tester,

Sub test()
Dim wk1 As Workbook, wk2 As Workbook

Set wk1 = ThisWorkbook

Workbooks.Open Filename:="P:\MACRO\NOTES DE FRAIS.xltm", Editable:=True
Set wk2 = ActiveWorkbook
wk1.Activate

' APPEL POUR L'UTILISATION DES MACROS
Application.Run ("NOTES DE FRAIS.xltm!macro2")

' FERMETURE DU FICHIER NOTES DE FRAIS
wk2.Close SaveChanges:=False
End Sub

Édit: correction faite, merci dhany

Bonjour

Merci pour cette réponse, il me met une erreur sur la ligne Set Wk1 = thisworbook ?

Bonjour Anne, Isabelle,

il manque juste une lettre « k » :

Set Wk1 = ThisWorkbook

dhany

Merci à Vous deux cela fonctionne nickel.

merci pour ton retour, et bon weekend !

dhany

Rechercher des sujets similaires à "appel macro fichier"