Bonjour,
Je souhaiterais me créer une barre d'outil de navigation pour naviguer plus rapidement dans mes onglets.
Après avoir parcouru le forum j'ai pu créer la barre, avec deux boutons et deux combobox, l'une reprenant la liste des cellules B2 de chaque onglet et l'autre dont les items sont définis "à la main".
Par contre, je ne parviens pas à créer de macro ou à agir sur le With du combobox pour me rendre sur la feuille reprenant la valeur du combobox choisi dans sa cellule B2. Je n'ai pas trouvé de post pouvant m'aider.
je l'ai fait par macro mais je pense que je ne sais pas récupérer les variables de Workbook_Open donc je traite d'objets inexistants dans ma macro.
Voici le code de mon workbook.open
Merci d'avance pour votre aide!
Private Sub Workbook_Open()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
Dim Combo1 As CommandBarComboBox
Dim Combo2 As CommandBarComboBox
'Application.Visible = False
Set CmdBar = Application.CommandBars.Add(Name:="BarreMenu", Position:=msoBarTop, Temporary:=True)
Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 133
.OnAction = "AfficheMenuMacros"
End With
Set Bouton2 = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 134
.OnAction = "AfficheMenuMacros"
End With
Set Combo1 = CmdBar.Controls.Add(Type:=msoControlComboBox)
With Combo1
Sheets("Début Financier").Select
ActiveSheet.Next.Select
Do While ActiveSheet.Name <> "Fin Financier"
Liste = Range("B2").Formula
Combo1.AddItem ActiveSheet.Range("B2").Formula
ActiveSheet.Next.Select
Do While ActiveSheet.Range("B2").Formula = Liste
ActiveSheet.Next.Select
Loop
Loop
Sheets("Début Promotion").Select
ActiveSheet.Next.Select
Do While ActiveSheet.Name <> "Fin Promotion"
Liste = Range("B2").Formula
Combo1.AddItem ActiveSheet.Range("B2").Formula
ActiveSheet.Next.Select
Do While ActiveSheet.Range("B2").Formula = Liste
ActiveSheet.Next.Select
Loop
Loop
End With
Set Combo2 = CmdBar.Controls.Add(Type:=msoControlComboBox)
With Combo2
Combo2.AddItem "Menu"
Combo2.AddItem "Bilan"
Combo2.AddItem "Trésorerie"
Combo2.AddItem "Avancement"
Combo2.AddItem "Facturation SCCV"
Combo2.AddItem "Trésorerie Promotion"
Combo2.AddItem "Cohérences"
Combo2.AddItem "PrestatairesBudget"
End With
'Application.Visible = True
CmdBar.Visible = True
Sheets("Bilan").Select
End Sub
Je souhaiterais me créer une barre d'outil de navigation pour naviguer plus rapidement dans mes onglets.
Après avoir parcouru le forum j'ai pu créer la barre, avec deux boutons et deux combobox, l'une reprenant la liste des cellules B2 de chaque onglet et l'autre dont les items sont définis "à la main".
Par contre, je ne parviens pas à créer de macro ou à agir sur le With du combobox pour me rendre sur la feuille reprenant la valeur du combobox choisi dans sa cellule B2. Je n'ai pas trouvé de post pouvant m'aider.
je l'ai fait par macro mais je pense que je ne sais pas récupérer les variables de Workbook_Open donc je traite d'objets inexistants dans ma macro.
Voici le code de mon workbook.open
Merci d'avance pour votre aide!
Private Sub Workbook_Open()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
Dim Combo1 As CommandBarComboBox
Dim Combo2 As CommandBarComboBox
'Application.Visible = False
Set CmdBar = Application.CommandBars.Add(Name:="BarreMenu", Position:=msoBarTop, Temporary:=True)
Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 133
.OnAction = "AfficheMenuMacros"
End With
Set Bouton2 = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 134
.OnAction = "AfficheMenuMacros"
End With
Set Combo1 = CmdBar.Controls.Add(Type:=msoControlComboBox)
With Combo1
Sheets("Début Financier").Select
ActiveSheet.Next.Select
Do While ActiveSheet.Name <> "Fin Financier"
Liste = Range("B2").Formula
Combo1.AddItem ActiveSheet.Range("B2").Formula
ActiveSheet.Next.Select
Do While ActiveSheet.Range("B2").Formula = Liste
ActiveSheet.Next.Select
Loop
Loop
Sheets("Début Promotion").Select
ActiveSheet.Next.Select
Do While ActiveSheet.Name <> "Fin Promotion"
Liste = Range("B2").Formula
Combo1.AddItem ActiveSheet.Range("B2").Formula
ActiveSheet.Next.Select
Do While ActiveSheet.Range("B2").Formula = Liste
ActiveSheet.Next.Select
Loop
Loop
End With
Set Combo2 = CmdBar.Controls.Add(Type:=msoControlComboBox)
With Combo2
Combo2.AddItem "Menu"
Combo2.AddItem "Bilan"
Combo2.AddItem "Trésorerie"
Combo2.AddItem "Avancement"
Combo2.AddItem "Facturation SCCV"
Combo2.AddItem "Trésorerie Promotion"
Combo2.AddItem "Cohérences"
Combo2.AddItem "PrestatairesBudget"
End With
'Application.Visible = True
CmdBar.Visible = True
Sheets("Bilan").Select
End Sub