Problème pour la création d'une barre d'outil VBA perso

Bonjour à tous,

Donc voilà, je me retrouve face à un soucis, je suis après me réaliser une barre d'outil en VBA, le soucis, ça fonctionne mais il m'affiche 2 boutons identique alors que un me suffit... voici le code :

Sub auto_open()
   Dim barre As CommandBar
   Dim bouton As CommandBarControl
   On Error Resume Next
   Set barre = CommandBars.Add(name:="RapHebdo-TOOLS")
   barre.Visible = True

   Set bouton = CommandBars("RapHebdo-TOOLS").Controls.Add(Type:=msoControlButton)

   bouton.style = msoButtonIconAndCaption
   bouton.TooltipText = "Rédiger le pointage suivant"
   bouton.FaceId = 1018
   bouton.OnAction = "Macro1"
   bouton.Caption = "Pointage suivant"

End Sub

Sub auto_close()
  On Error Resume Next
  CommandBars("RapHebdo-TOOLS").Delete
End Sub

Sub macro1()
  Call Suivant
End Sub

auto_open est placé dans WorkBook_Open()

auto_close est placé dans WorkBook_BeforeClose()

J'utilise OFFICE 2010 si des fois la question se pose ;

Merci d'avoir pris le temps de me lire et bonne journée à tous

Cordialement,

Christian

Bonjour,

D'abord, évite les macros auto open et auto close qui sont des "vieilleries" de versions excel 2000 et avant

ensuite, lorsque tu ouvres ton fichiern il faut t'assurer que la barre n'existe plus

Fais plutôt ceci :

Dans Thisworkbook place les deux codes

Private Sub Workbook_Open()
Dim barre As CommandBar
   Dim bouton As CommandBarControl
   On Error Resume Next
   CommandBars("RapHebdo-TOOLS").Delete
   Set barre = CommandBars.Add(Name:="RapHebdo-TOOLS")
   barre.Visible = True

   Set bouton = CommandBars("RapHebdo-TOOLS").Controls.Add(Type:=msoControlButton)

   bouton.Style = msoButtonIconAndCaption
   bouton.TooltipText = "Rédiger le pointage suivant"
   bouton.FaceId = 1018
   bouton.OnAction = "Macro1"
   bouton.Caption = "Pointage suivant"
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  On Error Resume Next
  CommandBars("RapHebdo-TOOLS").Delete
End Sub

ensuite crée un module mets y le code :

Sub macro1()
  Call Suivant
End Sub

Attention que sous excel 2010, ce code placera le bouton dans l'onglet "Complément" et que donc tu dois configurer excel pour le voir.

A te relire

Bonjour Dan

Merci, ça fonctionne !!

Pourrais tu m'expliquer ce qu'il n'allait pas que je puisse comprendre... je suis novice +1 XD

Peut t-on avoir à la place d'un bouton rectangle un bouton carré assez gros (comme office 2010) dans le ruban ?

Bon la question sort du sujet...

En tous les cas merci

Cordialement,

Christian


Re,

Par contre j'ai un soucis... mon bouton s'appel bien "pointage suivant" mais le nom de la barre est "Barre d'outils personalisé" hors je voudrais qu'elle se nomme "RapHebdo-TOOLS"...

J'ai pas du tout comprendre dans le code....

Merci

re

Peut-on avoir à la place d'un bouton rectangle un bouton carré assez gros (comme office 2010) dans le ruban ?

Ah ben c'est pas facile ce truc là et malheureusement si je ne me trompe il faut connaitre le language XML pour pouvoir modifier.

Dans cette version 2010, ils ont changé pas mal de chose et notamment au niveau des barres de menus que l'on ne peut plus modifier comme dans les versions inférieures à XL2007. D'où chaque barre de menu spécifique que l'on crée via des codes tels que je te l'ai proposé se retrouvent dans cet onglet Perso

Il faudrait que je me penche sur ce problème car à ce stade je ne pense pas pouvoir t'apporter la solution.

Amicalement

Bonjour Dan,

Après plusieurs recherche, je me suis rendu compte également que cela n'avait pas l'air possible, du moins à mon niveau... j'ai essayer plusieurs possibilité, même en inserant une image perso en 50x50px avec la propriété

.Style = msoButtonIconAndWrapCaptionBelow

mais rien ne change... je n'arrive même pas à la mettre en flottante...

Mais pour le moment ça restera comme ça en attendant de trouver la solution... puis si en plus il faut du xml... mes compétences vous vite s'arrêter... lol

Merci de vous pencher sur mon problème...

Bonne journée

Cordialement,

Christian

Bonjour,

On peut faire quelque chose comme dans le classeur joint, mais c'est du "sur mesure" (non modifiable directement dans VBA) donc bien préciser dès le départ les attentes...

Voir dans le ruban l'onglet à droite (après affichage)

A+

261chris86.xlsm (146.76 Ko)

Bonjour galopin01

Merci pour le fichier, ça correspond exactement à ce que je recherche, et entre temps (avant de voir votre réponse) j'ai fais mes recherche et j'ai aussi trouver la solution, j'ai d'ailleur télécharger "CustomUI Edition".

Bon maintenant, je vais essayer, il faut que je change une image de boutton... mais ça devrait le faire.... Des que j'ai réalisé mon ruban, je posterais un tuto pour les autres...

Je reviens en cas de soucis...

Cordialement,

Christian

re,

La solution de Galopin revient au même que de mettre tes boutons dans la barre personnalisée "complément" qui se crée non ?

Amicalement

Salut Dan,

Non justement, j'ai fais l'essai .... et nickel... tu veux le site ou j'ai trouver l'info ?

Cordialement,

Christian

Bonjour à tous,

Donc, pour revenir à mon ruban personnalisé, j'ai la solution ultime qui fonctionne super bien. Si ça interresse quelqu'un j'ai un fichier Access 2010 qui permet de créer ou modifier le ruban d'office, ça fonctionne nickel et c'est simple d'utilisation... et en plus... en français !!

J'ai trouver ce fichier sur le net et il est propre... il s'appel : AssistantRuban

Voilà,

Cordialement,

Christian

Re

Non justement, j'ai fais l'essai .... et nickel... tu veux le site ou j'ai trouver l'info ?

Quelle différence tu vois entre le fait d'avoir un groupe nommé avec un bouton spécifique (solution Galopin) et le fait d'avoir tes icones dans l'onglet complément ?

Sur que si cela te convient, ce n'est que mieux.

C'est bien que tu aies expliqué que tu as utilisé l'assistant Ruban. Dommage que Galopin n'en a pas fait de même pour sa solution.

Pas simple ces nouvelles versions d'excel. Comme disait mon ami Thierry Pourtier, un peu un non sens d'ailleurs.

Oublie pas de cloturer le fil en cliquant sur le v vert à coté du botuon EDITER

Amicalement

Bonsoir,

Je n'utilise habituellement pas l'assistant ruban, juste l'éditeur. (Custom UI Editor)

L'avantage de cette méthode est qu'elle permet à partir d'Excel 2010 -à l'instar de ce qu'on faisait avec Excel5- de supprimer les menus prédéfinis et de créer un menu entièrement personnalisé.

Bon tout ça est un peu complexe et à mon avis peu utile dans le cadre de ce forum. Il reste qu'en cas de besoin c'est maintenant un instrument abouti. (A réserver à des utilisateurs avertis)

A+

Bonjour Galopin01,

Pour en revenir a ce que tu disais par rapport au ruban... l'assistant rubant permet de tout faire avec le ruban... la maintenant, sur mon fichier, il y a uniquement ma barre d'outils que j'ai créé... les autres ne sont plus là...

Mais j'ai egalement, avant l'assistant ruban, utiliser "CustonUI Editor" mais assez basic, mais c'est vrai que quand on a les compététences il est parfait... moi j'ai opté pour la simplicité... malgré que je met les main dans le XML quand même...

Enfin voilà... je clos le sujet en "résolu"...

Et, bonjour le forum..... lol

Si des gens on besoin d'info concernant les rubans... on est là...

Bonne journée...

Rechercher des sujets similaires à "probleme creation barre outil vba perso"