Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Coller mes macros dans un nouveau menu

4 réponses
Avatar
Sabian
Salut =E0 toutes et tous

C'est un peu long, mais pas vraiment technique...

Je dois rendre un fichier Excel pour lequel j'ai cr=E9=E9=20
quelques macros.

Pour de raisons de Corporate Identity, je dois shoot=E9=20
tout mes boutons sur les feuilles Excel et mettre tout =E7a=20
dans un menu =E0 la place

A ce sujet, j'ai une question et un probl=E8me.

Voici ma question:
Si mon GU (gentil utilisateur) ouvre son fichier, le menu=20
vient, =E7a ok. Mais si mon GU ouvre un autre fichier que=20
celui dans lequel j'ai plac=E9 ce nouveau menu, est-ce que=20
ce menu va appara=EEtre ? (J'aimerai pas en fait)

et voici mon probl=E8me:
Mes macros sont actuellement sur des boutons sur la=20
feuille. O=F9 dois-je mettre mes macros pour pouvoir les=20
affecter =E0 mon nouveau menus ? (Parce que pour l'instant=20
lorsque je fais clic droit sur mon bouton plac=E9 dans mon=20
menu j'ai aucunes macros) :-(

Merci de votre aide et mangez pas trop de chocolat =E0=20
P=E2ques...

Sabian

4 réponses

Avatar
mousnynao
Bonjour,

Voici un exemple rudimentaire mais assez complet.
Ne s'ouvrira qu'une seule fois, quelque soit le
nombre d'ouverture et ne s'ouvrira que lors de
l'ouverture du fichier Excel spécifié.

Public Function AjoutBarreMenu() As Boolean
'
Dim Texte As String
Dim I As Integer
Dim Flag As Boolean
Dim BarreMenu, MaBarre, MonItem As Object

On Error GoTo Err_Barre

Flag = SupprimeMenu
Flag = False

'Création de la barre de menu
Set BarreMenu = Application.CommandBars.ActiveMenuBar
Set MaBarre = BarreMenu.Controls.Add
(Type:=msoControlPopup, temporary:=True)

MaBarre.Caption = "Automatisme"

'Insère menu
Set MonItem = MaBarre.Controls.Add
(Type:=msoControlButton)
With MonItem
.Caption = "Ouvrir sans VBA"
.OnAction = "OuvrirSansVBA"
.FaceId = 2579
End With

AjoutBarreMenu = True

Exit_Barre:
Exit Function

Err_Barre:
AjoutBarreMenu = False
Texte = "Erreur dans la routine AjoutBarreMenu"
MsgBox Texte
Resume Exit_Barre

End Function
'

Public Function SupprimeMenu() As Boolean

Dim Cmpt, Nombre As Integer
Dim Barre As CommandBarControl

' Cmpt = 1
Nombre =
Application.CommandBars.ActiveMenuBar.Controls.Count
For Cmpt = 1 To Nombre
' For Each Barre In
Application.CommandBars.ActiveMenuBar.Controls
If
(Application.CommandBars.ActiveMenuBar.Controls.Item
(Cmpt).Caption = "Automatisme") Then
Application.CommandBars("Worksheet Menu
Bar").Controls("Automatisme").Delete
End If
' Cmpt = (Cmpt + 1)
Next Cmpt
Cmpt = 0
SupprimeMenu = True

Exit_Close:
Exit Function

Err_Close:
MsgBox "Erreur dans la routine SupprimeMenu du
classeur MenuPerso!"
MsgBox Err.Number & " - " & Err.Description
SupprimeMenu = False

End Function


Public Function OuvrirSansVBA()

Dim NomFichier As String
Dim Dossier As String
Dim NomComplet As String

NomFichier = InputBox("Fichier : ", " NOM DE
FICHIER ", "AdresseIP.xls")
Dossier = InputBox("Répertoire : ", " NOM DE
RÉPERTOIRE ", "C:Temp")

NomComplet = Dossier & "" & Fichier

Application.EnableEvents = False
Workbooks.Open Filename:=Fichier
Application.EnableEvents = True

End Function
'

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Reponse As Boolean

Reponse = SupprimeMenu

If (Reponse) Then
MsgBox "Opération réussie :)"
Else
MsgBox "Opération échoué :("
End If

Exit_Close:
Exit Sub

Err_Close:
Message = "Erreur dans la routine
Workbook_Before_Close"
MsgBox Message

End Sub
'

Private Sub Workbook_Open()

Dim Reponse As Boolean

Reponse = AjoutBarreMenu

If (Reponse) Then
MsgBox "Opération réussie :)"
Else
MsgBox "Opération échoué :("
End If

End Sub
'

mousnynao!

-----Message d'origine-----
Salut à toutes et tous

C'est un peu long, mais pas vraiment technique...

Je dois rendre un fichier Excel pour lequel j'ai créé
quelques macros.

Pour de raisons de Corporate Identity, je dois shooté
tout mes boutons sur les feuilles Excel et mettre tout ça
dans un menu à la place

A ce sujet, j'ai une question et un problème.

Voici ma question:
Si mon GU (gentil utilisateur) ouvre son fichier, le menu
vient, ça ok. Mais si mon GU ouvre un autre fichier que
celui dans lequel j'ai placé ce nouveau menu, est-ce que
ce menu va apparaître ? (J'aimerai pas en fait)

et voici mon problème:
Mes macros sont actuellement sur des boutons sur la
feuille. Où dois-je mettre mes macros pour pouvoir les
affecter à mon nouveau menus ? (Parce que pour l'instant
lorsque je fais clic droit sur mon bouton placé dans mon
menu j'ai aucunes macros) :-(

Merci de votre aide et mangez pas trop de chocolat à
Pâques...

Sabian
.



Avatar
Claude BRIGUET
Hello,

Est-ce que tu veux remplacer le menu ou créer une nouvelle barre d'outils
avec des bouton ?

A +

Claude
"Sabian" a écrit dans le message de
news:152ab01c41cdc$7662dd30$
Salut à toutes et tous

C'est un peu long, mais pas vraiment technique...

Je dois rendre un fichier Excel pour lequel j'ai créé
quelques macros.

Pour de raisons de Corporate Identity, je dois shooté
tout mes boutons sur les feuilles Excel et mettre tout ça
dans un menu à la place

A ce sujet, j'ai une question et un problème.

Voici ma question:
Si mon GU (gentil utilisateur) ouvre son fichier, le menu
vient, ça ok. Mais si mon GU ouvre un autre fichier que
celui dans lequel j'ai placé ce nouveau menu, est-ce que
ce menu va apparaître ? (J'aimerai pas en fait)

et voici mon problème:
Mes macros sont actuellement sur des boutons sur la
feuille. Où dois-je mettre mes macros pour pouvoir les
affecter à mon nouveau menus ? (Parce que pour l'instant
lorsque je fais clic droit sur mon bouton placé dans mon
menu j'ai aucunes macros) :-(

Merci de votre aide et mangez pas trop de chocolat à
Pâques...

Sabian
Avatar
Sabian
Mmmm intéressant. je le voyais pas comme ca, mais merci
-----Message d'origine-----
Bonjour,

Voici un exemple rudimentaire mais assez complet.
Ne s'ouvrira qu'une seule fois, quelque soit le
nombre d'ouverture et ne s'ouvrira que lors de
l'ouverture du fichier Excel spécifié.

Public Function AjoutBarreMenu() As Boolean
'
Dim Texte As String
Dim I As Integer
Dim Flag As Boolean
Dim BarreMenu, MaBarre, MonItem As Object

On Error GoTo Err_Barre

Flag = SupprimeMenu
Flag = False

'Création de la barre de menu
Set BarreMenu = Application.CommandBars.ActiveMenuBar
Set MaBarre = BarreMenu.Controls.Add
(Type:=msoControlPopup, temporary:=True)

MaBarre.Caption = "Automatisme"

'Insère menu
Set MonItem = MaBarre.Controls.Add
(Type:=msoControlButton)
With MonItem
.Caption = "Ouvrir sans VBA"
.OnAction = "OuvrirSansVBA"
.FaceId = 2579
End With

AjoutBarreMenu = True

Exit_Barre:
Exit Function

Err_Barre:
AjoutBarreMenu = False
Texte = "Erreur dans la routine AjoutBarreMenu"
MsgBox Texte
Resume Exit_Barre

End Function
'

Public Function SupprimeMenu() As Boolean

Dim Cmpt, Nombre As Integer
Dim Barre As CommandBarControl

' Cmpt = 1
Nombre =
Application.CommandBars.ActiveMenuBar.Controls.Count
For Cmpt = 1 To Nombre
' For Each Barre In
Application.CommandBars.ActiveMenuBar.Controls
If
(Application.CommandBars.ActiveMenuBar.Controls.Item
(Cmpt).Caption = "Automatisme") Then
Application.CommandBars("Worksheet Menu
Bar").Controls("Automatisme").Delete
End If
' Cmpt = (Cmpt + 1)
Next Cmpt
Cmpt = 0
SupprimeMenu = True

Exit_Close:
Exit Function

Err_Close:
MsgBox "Erreur dans la routine SupprimeMenu du
classeur MenuPerso!"
MsgBox Err.Number & " - " & Err.Description
SupprimeMenu = False

End Function


Public Function OuvrirSansVBA()

Dim NomFichier As String
Dim Dossier As String
Dim NomComplet As String

NomFichier = InputBox("Fichier : ", " NOM DE
FICHIER ", "AdresseIP.xls")
Dossier = InputBox("Répertoire : ", " NOM DE
RÉPERTOIRE ", "C:Temp")

NomComplet = Dossier & "" & Fichier

Application.EnableEvents = False
Workbooks.Open Filename:=Fichier
Application.EnableEvents = True

End Function
'

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Reponse As Boolean

Reponse = SupprimeMenu

If (Reponse) Then
MsgBox "Opération réussie :)"
Else
MsgBox "Opération échoué :("
End If

Exit_Close:
Exit Sub

Err_Close:
Message = "Erreur dans la routine
Workbook_Before_Close"
MsgBox Message

End Sub
'

Private Sub Workbook_Open()

Dim Reponse As Boolean

Reponse = AjoutBarreMenu

If (Reponse) Then
MsgBox "Opération réussie :)"
Else
MsgBox "Opération échoué :("
End If

End Sub
'

mousnynao!

-----Message d'origine-----
Salut à toutes et tous

C'est un peu long, mais pas vraiment technique...

Je dois rendre un fichier Excel pour lequel j'ai créé
quelques macros.

Pour de raisons de Corporate Identity, je dois shooté
tout mes boutons sur les feuilles Excel et mettre tout
ça


dans un menu à la place

A ce sujet, j'ai une question et un problème.

Voici ma question:
Si mon GU (gentil utilisateur) ouvre son fichier, le
menu


vient, ça ok. Mais si mon GU ouvre un autre fichier que
celui dans lequel j'ai placé ce nouveau menu, est-ce
que


ce menu va apparaître ? (J'aimerai pas en fait)

et voici mon problème:
Mes macros sont actuellement sur des boutons sur la
feuille. Où dois-je mettre mes macros pour pouvoir les
affecter à mon nouveau menus ? (Parce que pour
l'instant


lorsque je fais clic droit sur mon bouton placé dans
mon


menu j'ai aucunes macros) :-(

Merci de votre aide et mangez pas trop de chocolat à
Pâques...

Sabian
.

.





Avatar
Sabian
Salut Claude...

Je veux tout simplement déplacer mes boutons qui sont
actuellement sur la Feuil1 directement dans un nouveau
menu que mettrai dans la barre de menu...

:-)

merci


-----Message d'origine-----
Hello,

Est-ce que tu veux remplacer le menu ou créer une
nouvelle barre d'outils

avec des bouton ?

A +

Claude
"Sabian" a écrit dans le message de
news:152ab01c41cdc$7662dd30$
Salut à toutes et tous

C'est un peu long, mais pas vraiment technique...

Je dois rendre un fichier Excel pour lequel j'ai créé
quelques macros.

Pour de raisons de Corporate Identity, je dois shooté
tout mes boutons sur les feuilles Excel et mettre tout ça
dans un menu à la place

A ce sujet, j'ai une question et un problème.

Voici ma question:
Si mon GU (gentil utilisateur) ouvre son fichier, le menu
vient, ça ok. Mais si mon GU ouvre un autre fichier que
celui dans lequel j'ai placé ce nouveau menu, est-ce que
ce menu va apparaître ? (J'aimerai pas en fait)

et voici mon problème:
Mes macros sont actuellement sur des boutons sur la
feuille. Où dois-je mettre mes macros pour pouvoir les
affecter à mon nouveau menus ? (Parce que pour l'instant
lorsque je fais clic droit sur mon bouton placé dans mon
menu j'ai aucunes macros) :-(

Merci de votre aide et mangez pas trop de chocolat à
Pâques...

Sabian


.