Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2509 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Exécution macro dans un autre classeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] Exécution macro dans un autre classeur

n°1939939
scaryfan
Apple Inside
Posté le 12-11-2009 à 11:52:14  profilanswer
 

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 ?
 
;)

mood
Publicité
Posté le 12-11-2009 à 11:52:14  profilanswer
 

n°1942938
Laoo
Posté le 20-11-2009 à 19:46:18  profilanswer
 

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...

n°1943401
SuppotDeSa​Tante
Aka dje69r
Posté le 23-11-2009 à 11:23:02  profilanswer
 

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 !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] Exécution macro dans un autre classeur

 

Sujets relatifs
Différents cas d'exécution[VBA] Rechercher une valeur dans une colonne ?
Execution javascript et condition unique [resolu][VBA-Word] remplacer la mise en forme d'un texte entre guillemets
macro excel 2007[Ruby] exécution d'une commande 'echo' avec ruby [résolu]
Business Objects et VBAQuizz debutant VBA
Macro excel pour colorer les cellules vides[VBA-E] Problème pour macro collage spécial
Plus de sujets relatifs à : [VBA] Exécution macro dans un autre classeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR