Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer une macro d'un autre fichier excel

sat478

XLDnaute Nouveau
Bonjour, à partir d'un fichier excel principal, je souhaiterais lancer une Sub qui se trouve dans un autre fichier excel. En fait, la sub du fichier excel principal permettrait de lancer le second fichier excel, d'activer la sub Workbook_open et ensuite de lancer la Sub TestFichierSecond() et une fois cette sub terminée de fermer le fichier excel secondaire pour revenir à mon fichier excel principal.

Mais est il possible de le faire ? Et si oui comment ?
 

myDearFriend!

XLDnaute Barbatruc
Re : Lancer une macro d'un autre fichier excel

Bonsoir sat478,

Soit 2 classeurs :
  1. Le classeur principal (ouvert) contenant la procédure LancerMacroClasseur2() ci-dessous.
  2. Le classeur "Classeur2.xls" (fermé) et contenant :
    • Une procédure Workbook_Open() dans le module de code de l'objet ThisWorkbook.
    • Une procédure TestFichierSecond() dans un module de code standard.
En lançant le code suivant (dans le classeur principal), tu devrais obtenir l'effet souhaité :
Code:
[SIZE=2][COLOR=blue]Sub[/COLOR] LancerMacroClasseur2()
      Workbooks.[COLOR=blue]Open[/COLOR] Filename:="C:\Classeur2.xls"
      Application.Run "Classeur2.xls!TestFichierSecond"
      ActiveWorkbook.[COLOR=blue]Close False
End Sub[/COLOR][/SIZE]
Cordialement,
 

ChTi160

XLDnaute Barbatruc
Re : Lancer une macro d'un autre fichier excel

Salut sat478
Bonsoir Didier

sat478 question de curiosité Lol que veux tu faire par le biais de ces procèdures(Workbook_Open() et TestFichierSecond()) du Classeur2.xls

merci d'avance lol
bonne nuit
 

solquagerius

XLDnaute Junior
Re : Lancer une macro d'un autre fichier excel

Bonjour,
je reprends ce vieux sujet ....
J'arrive bien à lancer une macro d'un fichier excel à partir d'un autre fichier excel. J'aimerais savoir s'il est possible de lancer cette macro avec des variables en paramètres ? (soit lancer une fonction plutôt qu'un sub).

Merci !
 

solquagerius

XLDnaute Junior
Re : Lancer une macro d'un autre fichier excel

En fait j'avais pas eu le temps de tester...
Je m'aperçois que le tableau que je passe en paramètre n'est pas rempli après l'exécution de la fonction... Il est bien rempli dans la fonction et à la fin, mais quand on revient dans la macro principal, il est vide.
Est-ce normal ?
 

solquagerius

XLDnaute Junior
Re : Lancer une macro d'un autre fichier excel

merci ! .. mais en fait il s'agit d'un tableau VBA.
J'écris la ligne suivante :

Application.Run "Classeur2.xls!remplir_tableau", tableau

sub remplir_tableau(tableau() as blabla)
' remplissage du tableau
end sub

quand je reviens dans la macro principale, tableau() est vide.
 

C@thy

XLDnaute Barbatruc
Re : Lancer une macro d'un autre fichier excel

Bonjour le fil, le forum

Application.run "'" & fic & "'!Module2.Macro2" fonctionne parfaitement chez moi, il a fallu rajouter la quote entre guillemets, mais no problemo,

par contre avec des paramètres ça ne fonctionne pas :

Application.run "'" (& fic & "'!Module2.Mine, duree, UneDate, 2, 1, colonn") je ne sais pas où mettre ma première parenthèse, si il faut rajouter un &, j'ai tout essayé, du moins je crois, mais ça plante toujours.

Merci à vous si vous avez une soluce...

Bises

C@thy
 

C@thy

XLDnaute Barbatruc
Re : Lancer une macro d'un autre fichier excel

Arf! J'ai trouvé, Pierrot :

inutile = Application.run("'" & fic & "'!Module2.mine", duree, UneDate, 2, 1, Column)

pfiou!!!

sans le inutile = ça ne marche pas.

Merci beaucoup Pierrot, pour ton aide... une heure que je suis là-dessus!!!

Bises

C@thy
 
Dernière édition:

jhlamoustache

XLDnaute Occasionnel
Re : Lancer une macro d'un autre fichier excel

Bonjour le forum,

Je ne comprends pas bien ce que « inutile » représente dans la discussion. Et j n’arrive pas à imiter votre code.
Dans ma situation, un libraire ajoute (manuellement) régulièrement des titres sur le fichier proposition, des lecteurs choisissent via le bouton choisir que leur soit expédié ou non les ouvrages. Le résultat de leur choix est enregistré sur la feuille par l’inscription de la date

Ce que je souhaite c’est que lorsque un lecteur accepte un titre proposé sur le fichier « proposition », le fichier « distrib » soit mis à jour par déclenchement de la procédure AjouterUnTitre de ce même fichier. Bien sur, il faudrait que je vérifie au préalable que le titre n’y figure pas déjà, mais ça, je sais le faire.

Merci de ce que vous pourrez faire
 

Pièces jointes

  • distrib.xls
    34 KB · Affichages: 91
  • Proposition.xls
    46 KB · Affichages: 68
  • Proposition.xls
    46 KB · Affichages: 103
  • Proposition.xls
    46 KB · Affichages: 80

Discussions similaires

Réponses
2
Affichages
213
Réponses
14
Affichages
456
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…