Bonjour à tous,
j'ai du faire une connerie et à présent mon menu perso en XL2007 se plante et ensuite mon personnal.xlsb qui est bien dans le répertoire XLSTART à partir duquel le menu se créait ne se charge plus...sauf si je double clique dessus.
Je mets ici le début (une macro dans le menu, il y en a 10 normalement) de la création qui fonctionnait pourtant depuis 2005 !
Le message d'erreur est : "la méthode 'onaction de l'objet _ commandbarbutton a échoué"
Merci de votre aide
Sub CreationMenu() '2005
Dim Monmenu As CommandBarControl
Dim Ajout As CommandBarPopup ' , Monmenu As CommandBar
Dim MenuItem As CommandBarControl
'Dim SubMenuItem As CommandBarPopup
'Efface le menu s'il existe encore
'voici la liste des id:
'fichier:30002 'Édition:30003 'Affichage:30004 'Insertion:30005
'format:30006 'Outils:30007 'Données:30011 'Graphiques:30022
'Fenêtre:30009 'Aide: 30010
'Permet d'identifier où on ajoute un élément à la barre de menu
'Le menu Aide étant toujours le dernier par convention...
'Set MonMenu = CommandBars(1).FindControl(ID:=30010)
DeleteNouveauMenu ' effacer avant de recrééer
Set Monmenu = Application.CommandBars(1).FindControl(ID:=30010)
If Monmenu Is Nothing Then
' Add the menu to the end
Set Ajout = CommandBars(1).Controls.Add(Type:=msoControlPopup, Temporary:=True)
Else
' Add the menu before Help
Set Ajout = CommandBars(1).Controls.Add(Type:=msoControlPopup, before:=Monmenu.Index, Temporary:=True)
End If
' ajoute l'étiquette au menu
Dim Auteur As String
Auteur = "Menu personnel" 'plus complet ( 02/2015 )
Ajout.Caption = Auteur
' Premier ITEM du MENU
Set MenuItem = Ajout.Controls.Add(Type:=msoControlButton)
With MenuItem
.Caption = "Propriétes du document"
.FaceId = 162 'icône à côté du texte de commande
.OnAction = "Prop" 'Nom de la macro - qui existe bien sur
End With
end sub
Sub DeleteNouveauMenu()
On Error Resume Next
Dim Auteur As String, Caption
Auteur = "Menu personnel"
Caption = Auteur
CommandBars(1).Controls(Auteur).Delete
End Sub