Bouton Excel associé à une macro - VB/VBA/VBS - Programmation
Marsh Posté le 28-07-2009 à 15:47:14
Bonjour
Le bouton sera forcement dans une/des barre d'outils.
Ensuite, tes macros doivent etre dans le "Classeur de macro personnelles" (lire mon petit 2)
Marsh Posté le 29-07-2009 à 08:51:55
Merci pour votre réponse.
En fait je dois créer une dizaine de boutons liés à des macros.
Et ce doit être installé sur plusieurs PC (Excel 2002 sur Windows XP). Donc je me demandais quelle était la meilleure méthode pour créer ces boutons et ensuite pouvoir les diffuser facilement sur plusieurs PC.
Car vu que les boutons sont liés à Excel et non à un classeur, il faut déjà copier le fichier "Excel10.xlb" sur les postes, ce qui n'est pas très pratique, si en + l'utilisateur a déjà personnalisé l'application il va tout perdre ?
Marsh Posté le 29-07-2009 à 09:30:29
Alors le mieux, si tu passes par la recuperation de profil Excel, c'est de faire tes macros en macros complémentaires.
Soit tu créés tes boutons dans Excel et tu importes le fichier ExcelX.xlb puis, et ton classeur de macro en macro complémentaire, et ensuite tu l'importe,
Soit tu créés directement tes boutons par le biais de la macro complémentaire.
Marsh Posté le 29-07-2009 à 09:46:57
J'ai enregistré mes macros dans une macro complémentaire.
Mais comment fait-on pour créer des boutons par le biais de cette macro complémentaire ?
Et est-ce que cela veut dire qu'il ne sera plus utile de copier le fichier "XLB" sur tous les postes mais seulement la macro complémentaire ?
Merci encore
Marsh Posté le 29-07-2009 à 09:51:54
Exact.
Créér des boutons par le biais d'une macro complementaire n'est en rien different que par une macro 'normale'
Je te laisse regarder ICI
Si tu as besoin de plus d'infos, no soucy
Edit : Tes boutons sont où ?? Dans la feuille ? Sur une barre d'outils ?
Marsh Posté le 29-07-2009 à 10:08:03
Mes boutons se situent dans une barre d'outils.
En fait, je dois ajouter des boutons à une macro existante (macro écrite par un collègue). J'ai donc copié la macro complémentaire qu'il avait écrite sur mon poste mais çà ne suffit pas à rapatrier aussi les boutons. Si je ne copie pas le XLB, je n'ai pas les boutons !
Et toi tu me dis qu'en postant la macro complémentaire sur le poste c'est suffisant. J'ai du loupé quelque chose !
Même la macro complémentaire, il faut la copier sous chaque profil sur chaque poste ?
Merci
Marsh Posté le 29-07-2009 à 10:27:46
Bah si ta macro ne créé pas les boutons ca risque d'etre dur d'avoir des boutons...
J'ai pas ta macro sous les yeux moi hein
As tu ete voir le lien que je t'ai mis pour créer des boutons en vba ?
Marsh Posté le 29-07-2009 à 10:36:26
En fait, on n'était pas tout à fait sur la même longueur d'ondes !
Les boutons ont été créé à la main, et non par une macro en VBA.
Oui alors il faudrait surement que je crée ces boutons en VBA dans la macro complémentaire. Là je comprends mieux ton discours !
Je vais essayer çà alors. Merci infiniment ...
Marsh Posté le 29-07-2009 à 10:49:57
Si tes boutons sont créés a la main, ils sont stockés dans le ExcelX.xlb
Apres c'est a toi de voir.
Comme dit plus haut, soit tu importes sur chaque postes ET le ExcelX.xlb ET la macro complémentaire.
Soit tu importes la macro complémentaire qui créé les boutons ET qui execute ton code.
SuppotDeSaTante a écrit : Alors le mieux, si tu passes par la recuperation de profil Excel, c'est de faire tes macros en macros complémentaires. |
Autres solutions :
- 1 - c'est de ne pas mettre de bouton et d'apprendre aux gens à se servir du bouton "Executer une macro" (Implique des noms de fonctions 'parlant')
- 2 - Passer par un userform
- 3 - Utiliser le fichier PERSO.XLS (Et la tu peux utiliser aussi le 2) et n'importer que lui
Je pense que la solution 2+3 est la plus simple ! de loin
Exemple :
Prends ce fichier
Dans ce fichier Perso.xls j'ai :
Qd le fichier s'ouvre WorkBook_Open il regarde le nom du classeur actif, s'il se nomme Classeur1 (a toi de modifier pour prendre en compte ton fichier qui doit declencher) il fait apparaitre le userform 'Boite'
Sur le userform boite je n'ai mis qu'un bouton, qui lui appelle la procedure Macro1
Tu le copies dans TonUser/AppData/Roaming/Microsoft/Excel/XLSTART
En fait le fichier Perso.xls, du moment qu'il existe, se lance toujours a l'ouverture d'Excel.
Marsh Posté le 28-07-2009 à 15:37:52
Bonjour,
Dans Excel 2002, peut-on créer des boutons associés à des macros dans un seul classeur, c'est-à-dire sans que ce bouton apparaisse à l'ouverture d'autres classeurs ?
Merci d'avance pour vos réponses