Positionnement des commandbars
Résolu
mijean94
Messages postés
413
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8400 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n’arrive pas à trouver une solution pour deux actions :
a) Positionner mes commandbars en ligne et non l’une sous l’autre
b) Avoir un fond de couleur différent pour chaque commandbars
Voici mon fichier : https://www.cjoint.com/c/FDyq2i24yXt
Merci de votre aide
Cordialement
Je n’arrive pas à trouver une solution pour deux actions :
a) Positionner mes commandbars en ligne et non l’une sous l’autre
b) Avoir un fond de couleur différent pour chaque commandbars
Voici mon fichier : https://www.cjoint.com/c/FDyq2i24yXt
Merci de votre aide
Cordialement
6 réponses
-
Bonjour,
a) Positionner mes commandbars en ligne et non l’une sous l’autre :
Ajoutes RowIndex et Left dans ton code comme ceci :With Cbar .Visible = True .Protection = msoBarNoMove + msoBarNoCustomize .RowIndex = 4 .Left = 1 End With With Cbar1 .Visible = True .Protection = msoBarNoMove + msoBarNoCustomize .RowIndex = 4 .Left = Cbar.Width End With-
PS : Pourquoi .RowIndex = 4 ?
1) cette valeur (4) doit être supérieure à celle des barres existantes pour que la ligne sur laquelle seront positionnées tes deux barres soit en dessous des barres existantes. Il faudra peut-être mettre une valeur plus élevée.
2) la valeur des deux barres doit être la même pour qu'elles soient sur la même ligne.
-
-
Bonjour,
Pour positionner les barres utilises les propriétés RowIndex et Left.
Par contre je ne pense pas que tu puisses modifier le couleur de la barre.
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voir ceci:
https://fring.developpez.com/vba/excel/barremenu/#L2.3
A adapter mettre dans un module:
Option Explicit Sub test_zone_txt() Dim Cbar As CommandBar Set Cbar = CommandBars.Add(Name:="MaBarre", Position:=msoBarTop, Temporary:=True) With Cbar .Visible = True End With With CommandBars("MaBarre").Controls.Add(Type:=msoControlEdit) .Style = msoComboLabel .Caption = "Devis :" .TooltipText = "info-bulle zone txt 1" .Tag = "txt1" .OnAction = "MaMacro1" End With With CommandBars("MaBarre").Controls.Add(Type:=msoControlEdit) .Style = msoComboLabel .Caption = "Facture :" .TooltipText = "info-bulle zone txt 2" .Tag = "txt2" .OnAction = "MaMacro2" .BeginGroup = True End With End Sub Sub Sup_Cbar() Dim Cbar As CommandBar For Each Cbar In CommandBars If Cbar.BuiltIn = False Then Cbar.Delete Next End Sub
Mettre dans ThisWorkbook:
Option Explicit Private Sub Workbook_Open() test_zone_txt End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Sup_Cbar End Sub
-
Bonjour CS_Le Pivert, Bonjour le forum
Merci pour ton code qui correspond à mon attente.
J’ai modifié le nom de la CommandBars en 1 mais dans le with j’a oublier de le remettre entre guillemets.
Ça cré bien le menus mais plus possible de les supprimer.
Y a-t-il une solution ?
Merci d’avance
Voici le code mis en place :
Option Explicit
Sub test_zone_txt()
Dim Cbar As CommandBar
Set Cbar = CommandBars.Add(Name:="1", Position:=msoBarTop, Temporary:=True)
With Cbar
.Visible = True
End With
With CommandBars(1).Controls.Add(Type:=msoControlEdit)
.Style = msoComboLabel
.Caption = "Devis :"
.TooltipText = "info-bulle zone txt 1"
.Tag = "txt1"
.OnAction = "MaMacro1"
End With
With CommandBars(1).Controls.Add(Type:=msoControlEdit)
.Style = msoComboLabel
.Caption = "Facture :"
.TooltipText = "info-bulle zone txt 2"
.Tag = "txt2"
.OnAction = "MaMacro2"
.BeginGroup = True
End With
End Sub
Sub Sup_Cbar()
Dim Cbar As CommandBar
For Each Cbar In CommandBars
If Cbar.BuiltIn = False Then Cbar.Delete
Next
End Sub
Cordialement
-
-
Bonjour à tous,
J’ai trouvé la solution à mon problème du post 10 avec une action manuelle :
il faut faire Affichage/barre d'outils/Personnaliser puis aller sur l'onglet Barre
d’outils, sélectionner "Barre de menus feuille de calcul" puis "réinitialiser".
Cordialement