Comment lancer une macro VB sur n'importe quel fichier excel ?

  • Initiateur de la discussion Initiateur de la discussion tzehani
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tzehani

XLDnaute Nouveau
Bonjour à toutes et à tous

J'ai une macro qui s'appelle ComptRendu que j'ai réalisée dans un fichier excel nommé Juillet2007.xls, je voudrai utiliser cette macro sur n'importe quel autre fichier, donc pour cela j'ai crée un fichier excel Perso.xls que j'ai mis dans XLStart avec la macro dedans. Donc quand je lance à présent excel,le fichier Perso.xls s'ouvre et me permet d'accéder à la macro sans problème

Maintenant le problème exactement est que je n'arrive pas à activer la feuille excel dans laquelle je veux executer ma macro qui est située dans Perso.xls

Exemple si j'ai ouvert un fichier Aout2007.xls et bien je n'arrive pas à activer pour executer correctement ma macro, c'est comme si la macro s'executait tout le temps sur Perso.xls (chose que je ne souhaite pas ...)

Voici mon code
Code:
Sub CompteRendu()

   .....
   .....
    
    Windows("BD.xls").Activate
    Application.Goto Reference:="BaseProjets"
    Selection.Copy

    Feuil1.Activate ==> " ici je voudrai activer ma feuille courante et non pas Perso.xls or c'est ce dernier qui est activé "

    ActiveWindow.SmallScroll ToRight:=8
    Range("AP1").Select
    ActiveSheet.Paste
    Columns("AP:AP").EntireColumn.AutoFit
    Application.CutCopyMode = False
    ActiveWorkbook.Save

   .....
   .....

End Sub

Merci beaucoup de votre aide
 
Re : Comment lancer une macro VB sur n'importe quel fichier excel ?

Bonjour Tzehani,

pas sur d'avoir tout compris, essaye peut être le code ci dessous en adaptant nom classeur et feuille :

Code:
Workbooks("Classeur1.xls").Sheets("Feuil1").Activate

bonne journée
@+
 
Re : Comment lancer une macro VB sur n'importe quel fichier excel ?

Bonjour Tzehani!

A ta place, j'utiliserais un bouton "Parcourir" qui te permettrait de récupérer le fichier à étudier ainsi que son chemin, puis de mettre le chemin dans l'adresse de ton fichier sur lequel utiliser la macro!

par exemple, sur ton fichier "perso", tu insères la macro suivante:

Code:
Function joindre()
   Dim chemin As String         'nom de variable récupérant le chemin du fichier
   chemin = Application.GetOpenFilename
   Range("une cellule que où tu veux renvoyer ton chemin").Value = chemin 
End Function


ensuite, dans la macro que tu as déjà fait, tu remplaces
Code:
Feuil1.Activate
par
Code:
Workbooks(chemin).Sheets("Feuil1").Activate

je pense que ça devrait marcher dans ce cas!
 
Re : Comment lancer une macro VB sur n'importe quel fichier excel ?

Bonjour Tzehani,

pas sur d'avoir tout compris, essaye peut être le code ci dessous en adaptant nom classeur et feuille :

Code:
Workbooks("Classeur1.xls").Sheets("Feuil1").Activate

bonne journée
@+

Le problème c'est que je ne veux pas mettre pas le nom du fichier excel puisque je veux que cette macro soit utilisable pour n'importe quel fichier excel ( c'est à dire n'importe quel nom)

mais le problème quand j'ouvre excel, Perso.xls s'ouvre aussi ca c'est normal pour récupérer la macro mais dans le code comme je l'ai signalé c'est Perso.xls qui est activé avec
Code:
 Feuil1.Activate
au lieu de mon fichier excel à partir duquel j'ai lancé ma macro.

Merci beaucoup
 
Re : Comment lancer une macro VB sur n'importe quel fichier excel ?

Re

remplace :

Code:
Workbooks("Classeur1.xls").Sheets("Feuil1").Activate

par :

Code:
ActiveWorkbook.Sheets(1).Activate

en considérant que c'est bien sur le classeur actif que tu veux intervenir.

par contre si tu utilises le classeur de macro personnel "perso.xls", il est conseillé de le masquer :

barre de menu => fenêtre => masquer

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour