Visual Basic, pb avec commandBar.

  • Initiateur de la discussion Didi47
  • Date de début
D

Didi47

Guest
bonjour,

je ne parviens pas à créer de nouvelles barres de menu. j'ai bien suivi les exemples donnés mais lors de l'exécution, il m'indique comme erreur "argument ou appel de procédure incorrect". Où est-ce que ça pêche ?

merci.


didi
 
C

C@thy

Guest
Bonjour Didi47,

si tu ne donnes pas ton exemple, difficile de voir ce qui ne va pas.

Je te donne un de mes exemples, ça pourra peut-être t'aider :

Private Sub cree_barre_commandes()
Dim nouvelle_barre As CommandBar
'remplacer Menu=True par Menubar=False pour conserver les menu Excel classiques
Set nouvelle_barre = Application.CommandBars.Add(Name:="Contrôle de Gestion", Position:=msoBarTop, MenuBar:=True, temporary:=False)
'Affichage à gauche de la feuille de calcul
Set nouvelle_barre = Application.CommandBars.Add(Name:="Contrôle de gestion", Position:=msoBarMenu)
'Supprime tous les autres menus
Set nouvelle_barre = Application.CommandBars.Add(Name:="Contrôle de gestion", Position:=msoBarTop, MenuBar:=True)
'Menu Flottant
Set nouvelle_barre = Application.CommandBars.Add(Name:="Fonctions Personnalisées", Position:=msoBarFloating)
'-----------------------
'ajout de nouveaux menus
'-----------------------
Application.MacroOptions "Lettre", "Cette fonction convertit des chiffres en lettres", , , , , , , 200, "Exoutil.hlp"
Application.MacroOptions "AFF_Formule", "Affiche une formule ( et non pas sa valeur)"
'pplication.MacroOptions "MMinus", "Cette fonction met en minuscule le texte de la cellule (Monchoix : 0=tous, 1=tous sauf 1ère lettre)"
'pplication.MacroOptions "MMajus", "Cette fonction met en majuscule le texte de la cellule (Monchoix :0=tous, 1=1ère lettre)"
Application.MacroOptions "SommeSiCouleur", "Cette fonction somme le contenu des cellules en fonction du code couleur" & _
'"(Fond_texte :1=couleur du fond, 2=couleur du texte)"
'Application.MacroOptions "NbSiCouleur", "Cette fonction compte le nombre de cellules d'un code couleur" & _
'"(Fond_texte :1=couleur du fond, 2=couleur du texte)"
'Application.MacroOptions "CouleurCellule", "Cette fonction renvoi le code couleur d'une cellule " & _
'"(Fond_texte :1=couleur du fond, 2=couleur du texte)"
Application.MacroOptions "DateConv", "Cette fonction convertit une date sans / en une date au format Excel " & _
'"(Typdate : format de la date à convertir : amj, aamj, jma, jmaa)"
Application.MacroOptions "HeureConv", "Cette fonction convertit une heure sans : en une heure au format Excel " & _
'"(TypHeure : format de l'heure à convertir : hmj, hm)"
Application.MacroOptions "Infos", "Cette fonction renvoi des infos sur l'application " & Chr(13) & _
'"1=Organisation, 2=Utilisteur " & _
'"3=Imprimante active, " & _
'"4=Nom du créateur du fichier, " & _
'"5 : Memoire disponible, " & _
'"6 : Sustème d'exploitation, " & _
'"7 : version d'excel, " & _
'" 8 : version du build d'excel "
Application.MacroOptions "Xsepdec", "Cette fonction renvoi le séparateur décimal "
.Add(msoControlPopup).Caption = "Fonctions Personnalisées"
'Mon nouveau menu propose des sous-menus uniquement
End With
'---------------------
'remplissage des menus
'---------------------
With nouvelle_barre
Call ajoute_menu(.Controls(1), "Afficher la formule", "TABLES.XLS!AffichLib14", True)
Call ajoute_menu(.Controls(1), "Mettre en minuscules", "TABLES.XLS!AffichSession", True)
Call ajoute_menu(.Controls(1), "Mettre en majuscules", "TABLES.XLS!AffichType", True)
Call ajoute_menu(.Controls(1), "Somme si couleur", "TABLES.XLS!AffichPrest", True)
Call ajoute_menu(.Controls(1), "Nombre si couleur", "TABLES.XLS!AffichSite", True)
Call ajoute_menu(.Controls(1), "Couleur cellule", "TABLES.XLS!AffichReglt", True)
Call ajoute_menu(.Controls(1), "Conversion Date", "TABLES.XLS!AffichCentre", True)
Call ajoute_menu(.Controls(1), "Conversion Heure", "MOPLT.XLS!VerifSaisie", True)
Call ajoute_menu(.Controls(1), "Infos", "MOPLT.XLS!AnnulOP", True)
Call ajoute_menu(.Controls(1), "Séparateur décimal", "MOPLT.XLS!Quitter", True)
End With
nouvelle_barre.Visible = True
End Sub
'---------------------------------------------
'ajoute un élément de menu à une liste de menu
'---------------------------------------------
Private Sub ajoute_menu(ByVal menu As CommandBarControl, ByVal titre As String, ByVal action As String, ByVal début_groupe As Boolean)
With menu.Controls.Add(msoControlButton)
.BeginGroup = début_groupe
.Caption = titre
.OnAction = action
End With
End Sub

bonne journée

C@thy http://www.excel-downloads.com/html/French/CharteXLD.php
 

Discussions similaires

Statistiques des forums

Discussions
314 650
Messages
2 111 541
Membres
111 199
dernier inscrit
mavoungou regis