Positionnement des commandbars

Résolu/Fermé
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 24 avril 2016 à 18:56
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 26 avril 2016 à 21:34
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

6 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
26 avril 2016 à 13:25
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
1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
26 avril 2016 à 13:35
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.
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
26 avril 2016 à 19:46
Bonjour,

Merci pour cette réponse , ta solution fonctionne nickel.

Maintenant je galère pour trouver une solution au problème que j'ai créé en utilisant une dérivée de la solution du post 7 " avec une erreur que j'ai involontairement créée dans le ode" que j'explique au post 10.

Cordialement
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
24 avril 2016 à 22:44
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.
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
25 avril 2016 à 12:27
Bonjour,

Merci pour cette réponse, mais comment utiliser ces propriétés dans mon code ?

cordialement
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
25 avril 2016 à 16:10
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
25 avril 2016 à 16:26
Bonjour,

Dans ses exemples, Jacques n'emploie ni RowIndex, ni Left !!!

patrice
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
25 avril 2016 à 16:26
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
25 avril 2016 à 18:13
Bonjour,

Merci pour ces réponses, mais je n'ai rien compris, pour pouvoir l'adapter à mon code.

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 avril 2016 à 12:13
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

0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
26 avril 2016 à 19:37
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
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
26 avril 2016 à 21:22
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
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
26 avril 2016 à 21:34
C'est effectivement le plus simple !
0