Magic_Doctor
XLDnaute Barbatruc
Bonjour,
Dans chaque feuille (sauf les 3 dernières) d'un classeur il y a une ComboBox. Chacune de ces ComboBox porte le même nom, à savoir : "ComboGoToSheet".
Dans chacune de ces CombBox doit apparaître une liste d'items qui sont les noms des autres feuilles du classeur, sauf ceux de la feuille active et des 3 dernières feuilles du classeur.
Quand on clique sur l'un quelconque de ces items on est dirigé vers la feuille sélectionnée.
Je voudrais remplir les listes de ces ComboBox lors de l'ouverture du classeur.
M'inspirant d'une routine de BOISGONTIER pour un USF, j'ai tenté, mais sans succés, de la modifier ainsi pour toutes les ComboBox en question :
Merci d'avance pour toute aide.
Dans chaque feuille (sauf les 3 dernières) d'un classeur il y a une ComboBox. Chacune de ces ComboBox porte le même nom, à savoir : "ComboGoToSheet".
Dans chacune de ces CombBox doit apparaître une liste d'items qui sont les noms des autres feuilles du classeur, sauf ceux de la feuille active et des 3 dernières feuilles du classeur.
Quand on clique sur l'un quelconque de ces items on est dirigé vers la feuille sélectionnée.
Je voudrais remplir les listes de ces ComboBox lors de l'ouverture du classeur.
M'inspirant d'une routine de BOISGONTIER pour un USF, j'ai tenté, mais sans succés, de la modifier ainsi pour toutes les ComboBox en question :
VB:
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim i As Byte, combo As OLEObject, sh As Worksheet
For i = 1 To Sheets.Count - 3
Set combo = Sheets(i).OLEObjects("ComboGoToSheet")
Sheets(i).combo.AddItem "--- ALLER À ---"
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> ActiveSheet.Name And sh.Index <= Sheets.Count - 3 Then Sheets(i).combo.AddItem sh.Name
Next sh
Sheets(i).combo.ListIndex = 0
Next
Application.ScreenUpdating = True
End Sub
Pièces jointes
Dernière édition: