Positionnement des commandbars [Résolu/Fermé]

Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
- - Dernière réponse : Patrice33740
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
- 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 : http://www.cjoint.com/c/FDyq2i24yXt

Merci de votre aide

Cordialement
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243
1
Merci
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

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62943 internautes nous ont dit merci ce mois-ci

Patrice33740
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243 -
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.
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 > Patrice33740
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
-
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
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243
0
Merci
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.
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 -
Bonjour,

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

cordialement
Messages postés
6422
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 décembre 2019
420
Patrice33740
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243 -
Bonjour,

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

patrice
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 -
Bonjour,

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

Cordialement
Messages postés
6422
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 décembre 2019
420
0
Merci
Voir ceci:

http://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

mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 -
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
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
0
Merci
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
Patrice33740
Messages postés
7856
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
6 décembre 2019
1243 -
C'est effectivement le plus simple !