Erreur dans une macro

Menibelus

XLDnaute Nouveau
Bonjour,

J'ai trouvé cette macro sur excelabo pour créer un menu de mes feuilles de mon classeur mis une erreur m'est signalé à la ligne CommandBars("Workbook tabs").ShowPopup en rouge ci-dessous

Pourquoi?

Pour information j'utilise office 2011 Mac

Merci

Public LeNombre As Integer Const cTag As String = "SpecialMisange"
Sub CreerLeMenuFeuilles(Nbf As Integer)
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
Set MenuFeuilles = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With MenuFeuilles
.Caption = "&Menu Feuilles"
.Tag = cTag
.BeginGroup = False
End With
Set OptionsMenuFeuilles = MenuFeuilles.Controls.Add(msoControlPopup, , , , True)
With OptionsMenuFeuilles
.Caption = "Options"
Set Option1 = .Controls.Add(msoControlButton, 1, , , True)
With Option1
.Caption = "Afficher toutes les feuilles"
.OnAction = "ToutesLesFeuilles"
End With
Set Option2 = .Controls.Add(msoControlButton, 1, , , True)
With Option2
.Caption = "Définir le nombre de feuilles à afficher"
.OnAction = "NombredeFeuilles"
End With
End With
Select Case Nbf
Case Is = 0
ToutesLesFeuilles
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
End Select
For i = 1 To Nbf
If Sheets(i).Visible = True Then
With MenuFeuilles
NF = "Feuille" & i
Set NF = .Controls.Add(msoControlButton, 1, , , True)
With NF
.Caption = Sheets(i).Name
.OnAction = "ActiverLaFeuille"
End With
End With
End If
Next i
End Sub
Sub SupprimerLeMenuFeuilles()
With Application.CommandBars
If Not .FindControl(Tag:=cTag) Is Nothing Then
.FindControl(Tag:=cTag).Delete
End If
End With
End Sub
Sub ToutesLesFeuilles()
CreerLeMenuFeuilles (ThisWorkbook.Sheets.Count)
End Sub
Sub NombredeFeuilles()
LeNombre = Application.InputBox("Combien de feuilles souhaites-tu afficher ?", _
"Option menu Feuilles", , , , , , 1)
Select Case LeNombre
Case Is > ThisWorkbook.Sheets.Count
ToutesLesFeuilles
Case Is = 0
ToutesLesFeuilles
Case Is > 0 < ThisWorkbook.Sheets.Count
Sheets("Feuil1").Range("nbf") = LeNombre
End Select
CreerLeMenuFeuilles (LeNombre)
End Sub
Sub ActiverLaFeuille()
CommandBars("Workbook tabs").ShowPopup
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : Erreur dans une macro

Bonjour,

Chez moi ça fonctionne avec 2003 et 2010 sauf quand 2010 la barre est dans l'onglet Complément

Attention à la ligne
Set MenuFeuilles = Application.CommandBars(1).Controls.Add(msoControl Popup, , , , True)
Pas d'espace entre msoControl et Popup
 

Menibelus

XLDnaute Nouveau
Re : Erreur dans une macro

Bonjour,

Ce que je cherche c'est à faire un menu déroulant soit dans la barre de menu soit dans le ruban (ce que je préfererais) avec la liste de mes feuilles contenu dans mon classeur. Et bien que lorsque je clique sur le nom de la feuille contenu dans ce menu celle ci s'affiche.

En ce qui concerne l'onglet complément soit je ne sait pas l'activer soit il n'existe pas sous mac par contre j'ai un menu dans la barre de menu "menu feuille" qui c'est créé mais si je clique sur un item celui ne me renvoi pas vers la feuille :(
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 077
dernier inscrit
kamel26asus