Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 15/01/2010
Messages:
3
Système d'exploitation: PC Version Excel utilisée: 97,2003,2007 |
Posté le : 17-01-2010 01h59
Bonjour le forum,
En parcourant, les sujets de cet interessant forum, je suis tombé sur une discussion constructive concernant la création d'une barre personnalisée avec des boutons renvoyant à des macros. Ce qui m'épate c'est la réponse qu'à donner le membre nommé Guy (un Zip contenant un .XLA) En téléchargeant ce fichier et l'exécutant par conséquent. Une barre personnalisée apparaît avec deux boutons assortis de deux images. En consultant le code, la surprise était énorme, Le code ne s'exécute qu'une fois et toutes les lignes de la macro de création de la barre deviennent des commentaires (lignes vertes). Aussi en parcourant cette macro, à aucun moment, il y a une ligne qui fait réference aux images figurant sur les deux boutons de la barre. C'est vraiment hallucinant. Ma question s'adresse à tout les membres de ce forum et tout particulièrement à Guy; Comment peut-on construire ce genre de macro (s'exécutant une seule fois (puis toutes les lignes de la macro deviennent des commentaires) ? Comment on a associé les images au bouton sachant qu'aucune ligne du code figurant au sein du XLA en fait réference ? C'est un grand mystère. Merci pour vos réponses. Voici le lien de la discussion : http://www.mdf-xlpages.com/modules/ne ... ost_id=3053#forumpost3053 |
|
|
Re: Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 17-01-2010 22h02
Bonjour pili_mdf, le forum,
Essayons d'éclaircir le mystère. Tout d'abord s'agit-il bien du classeur BarrePerso.xla? Parce que dans le fil cité il y a aussi test_barre.xla et test_barre_1.xla dans un autre zip. Alors la précision n'est pas inutile. Nous (je) prendrons pour acquis qu'il s'agit bien de Barre perso portée par BarrePerso.xla. Quelques précisions :
D'autres précisions : Citation : Le code ne s'exécute qu'une fois et toutes les lignes de la macro de création de la barre deviennent des commentaires (lignes vertes). Eh ben non! Jamais ce code n'est exécuté. Il est commenté pour fins d'exemple de création sans plus. Citation : Aussi en parcourant cette macro, à aucun moment, il y a une ligne qui fait référence aux images figurant sur les deux boutons de la barre. Ces icônes de boutons ont été bricolé à la mitaine (québécisme) par mes soins avec l'éditeur d'icônes de bouton d'Excel.
Citation : Comment peut-on construire ce genre de macro (s'exécutant une seule fois (puis toutes les lignes de la macro deviennent des commentaires) ? (bis) Cette procédure ne s'exécute pas du tout. Ni à l'ouverture du classeur ni autrement. Il s'agit de code mort commenté. Mais alors comment s'y prend-on pour bricoler chose pareille? Dans l'éditeur VBA (VBE) Primo - Choisir un nom exotique ou banal pour la barre d'outils. Deuxio - Modifier avec ce nom la constante NOM_BARRE_PERSO du module modBarrePerso de BarrePerso.xla Toizio - Décommenter et exécuter la procédure ConstruireBarre(). Quatrezio - Recommenter la procédure ConstruireBarre() pour éviter les embrouilles. Une fois la barre perso nommée du nom évocateur choisit poursuivre dans Excel cette fois. Primo - Afficher la nouvelle barre d'outils, si ce n'est déjà le cas, et à l'aide de l'éditeur d'icônes de boutons d'Excel bricoler une jolie icône pour chacun des boutons de cette barre (deux boutons dans le cas qui nous occupe depuis un moment déjà). Deuxio - S'assurer d'avoir le classeur cible (qui portera cette barre) ouvert et actif dans Excel. Troisio - Dans le formulaire Personnalisation cliquer sur le bouton Attacher. Un formulaire Associer une barre d'outils s'affiche. Quatrezio - A l'aide de ce formulaire transbahuter la nouvelle barre vers le classeur actif. Voilà, la barre perso avec ces boutons tout aussi persos est associée au classeur de son choix. Ne reste qu'à ne pas oublier de détruire la barre perso à la fermeture du classeur comme dans BarrePerso.xla et le tour est joué. Enregistrer le classeur porteur de la barre comme xls ou xla selon le goût. Plus encore sur demande car je sais bien que cela ne suffira pas. Cordialement, Guy |
|
|
Re: Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 15/01/2010
Messages:
3
Système d'exploitation: PC Version Excel utilisée: 97,2003,2007 |
Posté le : 21-01-2010 15h14
Merci GUY pour ta pertinente réponse.
J'ai compris le principe. Cependant, une question subsiste :
|
|
|
Re: Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 09/01/2008
De Montréal, Québec
Messages:
463
Système d'exploitation: PC Version Excel utilisée: 97 à 2016 |
Posté le : 21-01-2010 16h48
Bonjour pili_mdf, le forum,
Chaque fois qu'une barre personnelle (appelée Barre pour la suite) est crée l'objet Barre est embarqué dans Excel. En d'autres termes : Barre est un objet de la collection Application.CommandBars. Que la barre ait été créée par commandes de menu ou par code dans un classeur particulier elle fait de facto partie de la collection Applicaition.CommandBars, c'est à dire d'Excel lui-même. Lorsqu'on attache Barre à un classeur particulier elle est embarquée dans le classeur en question mais reste attachée à Excel. On pourra donc transbahuter Barre vers un autre poste. Barre sera embarquée, attaché à Excel sur cet autre poste à l'ouverture du classeur porteur et y restera même après la fermeture du classeur porteur. On ne peut détacher une Barre d'Excel qu'en la supprimant avec Barre.Delete. On peut détacher une Barre d'un classeur par le menu de personnalisation bouton Attacher, bouton Supprimer. Donc : Citation : Comment une barre d'outils personnalisée peut être liée à l'application (Excel lui-même) Barre est liée à sa création. Cordialement, Guy |
|
|
Re: Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 15/01/2010
Messages:
3
Système d'exploitation: PC Version Excel utilisée: 97,2003,2007 |
Posté le : 08-02-2010 18h21
Merci Guy pour ces explications pertinentes et concises.
Maintenant, je vois plus clair. Regards, pili |
|
|
Re: Barre Personnalisée au sein d'un XLA | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 08-02-2010 22h03
Bonsoir pili_mdf, Guy, le Forum,
Puisque la réponse de notre ami Guy te convient, je clos le présent fil en [résolu]. Merci d'y penser la prochaine fois pili_mdf (voir au bas de ma signature). Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
Qui consulte actuellement ce sujet ?
1 Utilisateur(s) anonymes