Comment lancer ma macro de n'importe quel fichier ?

  • Initiateur de la discussion Initiateur de la discussion debutexcel111
  • 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 !

D

debutexcel111

Guest
Ma macro est dans mon classeur de macros persos, mon problème est que je voudrai l'utiliser de n'importe quel fichier excel, et quand j'ouvre un nouveau fichier je n'ai pas accès à cette macro, comment faire ?
merci
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Bonjour le fil, bonjour le forum,

Une macro écrite dans le classeur PERSO.XLS est accessible par n'importe quel autre classeur. C'est justement le but de ce classeur PERSO.XLS... Maintenant, il faudrait vérifier que ce classeur existe bien à l'ouverture d'une session Excel. Ce classeur est en principe masqué et pour vérifier s'il est ouvert ou pas il faut utiliser le menu : Fenêtre / Afficher... PERSO.XLS doit apparaître dans la liste...
Si il n'apparaît pas il faut de utiliser l'enregistreur de macro et dans le champ Enregister la macro dans :, choisir : Classeur de macros personnelles. Le classeur PERSO.XLS sera créé autimatiquement.

Sinon faire comme le préconise Kiki... Mais il en dit tellement peu ! Ça doit être par économie de salive en ces temps de chaleur...
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Bonjour.
S'il s'agit d'un appel depuis un autre classeur en VBA, il serait de toutes façon à mon avis souhaitable de modfier le nom du projet VBA du classeur de macro, ajouter ce nouveau nouveau nom aux références des classeurs l'utilisant, et préfixer, même, de ce nom de projet suivi d'un point, les noms de procédures appelées. À défaut d'être toutes absolument indispensables, ces dispositions documenteraient bien l'organisation de toute cette programmation.
À +
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Je suis sur excel 2007, le nom de mon fichier est personal, je dois ouvrir une centaine de classeurs, j'ai déja fait la procédure affichage-fenetre-afficher, mais mon classeur de macros persos n'apparait pas à l'ouverture d'un nouveau classeur..
 
Re : Comment lancer ma macro de n'importe quel fichier ?

j'ai oublié de préciser quelque chose de très important 🙂
Quand j'ouvre un nouveau classeur cela apparait bien, mais quand un classeur est ouvert par une application extérieure là il n'y a rien.
 
Re : Comment lancer ma macro de n'importe quel fichier ?

À sa réouverture par n'importe quelle voie, si un autre projet y est mis en référence, le classeur qui le porte est automatiquement ouvert, et ne peut d'ailleurs même plus être fermé tant qu'au moins un autre classeur ouvert le retient par ses références.

P.S; Je parle évidemment des références du projet VBA, pas des références par des formules. Ça ce sont des liaisons Excel, pas des références.

À +
 
Dernière édition:
Re : Comment lancer ma macro de n'importe quel fichier ?

je dois avouer que c'est un peu complexe pour moi et je ne sais pas si j'ai tout compris...Je dois donc référencer ma macro pour qu'elle puisse s'ouvrir ? peut-on automatiser cela pour faire en sorte que pour le classeur 1 ou classeur 50 la macro soit prise en compte ?
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Le problème c'est qu'il faut que le classeur de macro soit ouvert pour exécuter un automatisme, donc une de ses macros !
À moins de l'affecter à un bouton de barre d'outils, si ça existe encore.
Cela dit, cette instruction devrait implanter dans le classeur actif la référence au projet VBA la contenant:
VB:
ActiveWorkbook.VBProject.References.AddFromFile ThisWorkbook.FullName

P.S. Attention, très important: donnez d'abord un nom convenable, court et unique au projet de votre classeur de macro, sans cela ça ne va pas aller: ils s'appellent tous "VBAProject" par défaut !
À +
 
Dernière édition:
Re : Comment lancer ma macro de n'importe quel fichier ?

Si je dois rentrer une macro quand le classeur s'ouvre ce ne sera pas "rentable" en terme de temps, mon objectif était de pouvoir activer la macro rapidement à l'ouverture du nouveau classeur, ce n'est pas grave tant pis.
Merci beaucoup pour ton aide
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Affectez la à un bouton de barre d'outils.
En Excel 2003 c'est très simple: clic droit sur une barre d'outils quelconque, dernière ligne du menu: Personnaliser, Onglet Commandes, Catégorie Macros, puis vous glissez le Bouton personnalisé vers une barre affichée là ou vous voulez le mettre.
Un clic droit dessus enfin et Affecter une macro.

Remarque: lorsqu'une macro est affectée à un propriété OnAction de bouton de formulaire ou de barre d'outils, le classeur qui la porte est ouvert automatiquement si nécessaire pour l'exécuter.
 
Dernière édition:
Re : Comment lancer ma macro de n'importe quel fichier ?

Bonjour,

J'ai testé le bouton dans la barre d'accès rapide mais j'ai toujours le même problème c'est dans le classeur personal et du coup j'ai le message d'erreur. Quand mon application extérieure ouvre un nouveau fichier je n'ai accès quà ce classeur ou "tous les classeurs ouverts".
D'ailleurs, à ce propos, je suis débutant, et je ne trouve pas ça logique que l'on ne puisse pas créer une macro applicable sur tout les fichiers, je lutte depuis hier, pourquoi tant de complications ? on crée une macro et on l'utilise n'importe où, tant que les références sont cohérentes, pourquoi ce n'est pas possible ??
j'ai testé la macro complémentaire également mais je me heurte à un souçi majeur, j'ai été dans compléments-atteindre, elle est dispo mais je ne sais pas comment l'utiliser car l'onglet complément n'existe pas chez moi, faut-il créer quelque chose en plus dans la macro ?
Bref, si quelqu'un a une solution, ça m'aidera vraiment, parce que je commence à perdre patience, en fait je me demande si c'est possible ou non?
merci
 
Re : Comment lancer ma macro de n'importe quel fichier ?

Sans connaitre la nature exacte du traitement pas trop facile à expliquer,

Mais le principe pourrait être le suivant :

Les fichiers à traiter sont placés dans un dossier ex : C:\User1\appliSuivi\A_Traiter

avec une instruction dir , tu récupere le nom du fichier à traiter ,

ouverture du fichier,

Execution de la macro sur ce fichier.

sauvegarde du fichier traité,

transfert du fichier traité vers un dossier ....\ Traité.

ceci dans une boucle dont la sortie sera conditionnée par un résultat dir = ""

voilà
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
316
  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
748
Retour