1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| Sub Menu_Close()
Dim MenuName As String
MenuName = "Fonctions Supplémentaire"
' Delete the menu before closing
On Error Resume Next
MenuBars(xlWorksheet).Menus(MenuName).Delete
End Sub
Sub Menu(Action As String)
On Error GoTo Gesterr
Dim Label As Variant
Dim Labels As String
Dim Count_Label As Integer
Dim Macro As Variant
Dim Macros As String
Dim Count_Macro As Integer
Dim MenuName As String
Action = LCase(Action)
MenuName = "Fonctions Supplémentaire"
Select Case Action
Case "ouverture"
Labels = "*Imprimer Lettres placements,*Nouvelle Mise à jour des cours,*Suppression des Chèques,Mise à jour des cours,Mise à jour fiches,Note de trésorerie,Edition lettres placements,UsFNote"
Macros = "Controle_vente_ou_achat_Sicav,majoursVia,SuppressionCheque,majcours,majfiches,note,wordplacementtxt,show UsFNote"
Label = Split(Labels, ",")
Macro = Split(Macros, ",")
Count_Label = UBound(Label) + 1
Count_Macro = UBound(Macro) + 1
If Count_Label + Count_Macro Then
' supprimer le menu s'il exist
MenuBars(xlWorksheet).Menus(MenuName).Delete
' Add the menu
MenuBars(xlWorksheet).Menus.Add Caption:=MenuName, before:="Help"
Dim x As Integer
x = 0
Do While x < Count_Label
MenuBars(xlWorksheet).Menus(MenuName).MenuItems.Add Caption:=Label(x), OnAction:=Macro(x)
x = x + 1
Loop
End If
Case "fermeture"
MenuBars(xlWorksheet).Menus(MenuName).Delete
Case Else
Err.Raise vbObjectError + 1, "probleme dans la création des menus", "les menus supplémentaire ne fonctionnerons pas correctement" & vbNewLine & "Merci de contacter l'Informatique"
End Select
FinProg:
Exit Sub
Gesterr:
Select Case Err.Number
Case 1004
Resume Next
Case vbObjectError + 1
MsgBox Err.Source & vbNewLine & Err.Description, vbCritical
Case Else
'message générique
MsgBox "Erreur inattendu n° " & Err.Number & vbNewLine & Err.Description
Resume FinProg
End Select
End Sub |
Partager