[VBA] Exécution macro dans un autre classeur

Exécution macro dans un autre classeur [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 12-11-2009 à 11:52:14    

Salut à tous !
 
Je cherche à faire le truc suivant :
 
  - j'ouvre un fichier Excel dans lequel j'ai créé une macro (dans ThisWorkbook)
  - cette macro est destinée à s'exécuter dans un autre fichier Excel que je vais ouvrir ensuite
  - j'ouvre donc l'autre fichier Excel
 
Mon souci est que la macro ne s'exécute que dans le premier fichier...
Pourtant, le 2ème fichier est ouvert après le 1er et c'est bien ce 2ème fichier qui est actif...
 
Comment faire sachant que la macro qui se trouve dans le 1er fichier doit être lancer pour un multitude de fichiers que je vais ouvrir les uns après les autres et le nom de ces fichiers est toujours différent...
 
Comment faire ?
 
;)

Reply

Marsh Posté le 12-11-2009 à 11:52:14   

Reply

Marsh Posté le 20-11-2009 à 19:46:18    

B'soir
 
Et pourquoi ne la mets-tu pas dans le classeur général? Puisque tu dis que tu ouvres les classeurs les uns après les autres, tu pourrais lancer ta macro par la même occasion, au besoin par une association de touches, Ctrl+kkchose, picétou...

Reply

Marsh Posté le 23-11-2009 à 11:23:02    

Bonjour
 
Faire pointer au demarrage de la macro sur le bouton classeur.
Tu boucles sur le nb de fichiers ouverts, si le nom est different de celui qui contient la macro, tu vas sur l'autre. etc.
 
Ex :
Fichier sur lequel se trouve la macro : toto.xls
 

Code :
  1. 'On regarde sur quel numéro de fenetre se trouve ton fichier sur lequel est ta macro en passant tous les fichiers jusqu'a trouver celui qui ne contient pas son nom
  2.     NbFen = Application.Windows.Count
  3.     Fen = 1
  4.     For i = 1 To NbFen
  5.         NomFenT = Wrd.Windows(i).Document
  6.         If InStr(1, NomFenT, "toto" ) = 0 Then
  7.             Fen = i
  8.             Exit For
  9.         End If
  10.     Next i
  11. 'on l'active
  12. Application.Windows(Fen).Document.Activate
  13. 'suite de ta macro


 
Sinon, le plus simpe est de mettre toutes tes macros 'communes' (c'est a dire a executer sur differents fichiers) dans le PERSO.XLS
 
Cordialement


Message édité par SuppotDeSaTante le 23-11-2009 à 11:24:45

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed