Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur
?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste)
le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
--
Enlever YYXXZZ de mon mail si réponse sur celle-ci, merci ;-)
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA, elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA, elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA, elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression en
lui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permet
de continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
tester
si l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou non
et ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression en
lui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permet
de continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
tester
si l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou non
et ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression en
lui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permet
de continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
tester
si l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou non
et ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" a écrit dans le message de
news:ufDGSl%Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression enlui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permetde continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
testersi l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou nonet ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
nepas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
ellel'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) lefait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le message de
news:ufDGSl%231EHA.3500@TK2MSFTNGP09.phx.gbl...
Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression en
lui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permet
de continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
tester
si l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou non
et ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" a écrit dans le message de
news:ufDGSl%Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression enlui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permetde continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
testersi l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou nonet ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
nepas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
ellel'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) lefait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Ah, je vous demande pardon de bien vouloir m'excuser, Maître, mais j'ai
dit 'Bonsoir' !
Quand même !
:-)))))))
FS (Quoi ? Je m'as gourré de règles ??)
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" a écrit dans le message
de
news:ufDGSl%Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression enlui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permetde continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
testersi l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou nonet ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
nepas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
ellel'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) lefait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Ah, je vous demande pardon de bien vouloir m'excuser, Maître, mais j'ai
dit 'Bonsoir' !
Quand même !
:-)))))))
FS (Quoi ? Je m'as gourré de règles ??)
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le message
de
news:ufDGSl%231EHA.3500@TK2MSFTNGP09.phx.gbl...
Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression en
lui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permet
de continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
tester
si l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou non
et ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
ne
pas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?
(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
elle
l'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) le
fait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...
Ah, je vous demande pardon de bien vouloir m'excuser, Maître, mais j'ai
dit 'Bonsoir' !
Quand même !
:-)))))))
FS (Quoi ? Je m'as gourré de règles ??)
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !mais c'est quoi, ça? de meme qu'on ne parle pas après un ministre, on
n'ajoute rien à ce qu'a pu dire un MVP, fût-ce d'un autre MVP qu'il
s'agisse...
ce forum bafoue de plus en plus les règles les plus élémentaires du
protocole...
jps
"Frédéric Sigonneau" a écrit dans le message
de
news:ufDGSl%Bonsoir,
Pour compléter les infos données par jps, modifie ta procédure de
suppression enlui ajoutant l'instruction
On Error Resume Next
en première ligne.
Si la barre n'existe pas ça provoque une erreur et On Error Resume Next
permetde continuer l'exécution en ignorant l'erreur.
Autre solution, toujours à base de gestion d'erreur mais plus 'propre' :
testersi l'affectation de la barre à la variable NewMenu a échoué (pas de menu)
ou nonet ne détruire que dans le deuxième cas :
Sub Suppr_Menu()
Dim NomBarre$, NewMenu As CommandBarControl
NomBarre = "Worksheet menu bar"
On Error Resume Next
Set NewMenu = Application.CommandBars(NomBarre).Controls("Macros")
On Error GoTo 0
If Not NewMenu Is Nothing Then NewMenu.Delete
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour,
J'utilise cette source pour créer un menu dans un classeur:
'Création d'un menu avec sous menus dans la barre des menus d'Excel
'd'après E. Tissot, mpfe
Sub Creer_Menu()
Dim NewMenu As CommandBarPopup
Dim NewSubMenu As CommandBarPopup
Dim NewButton As CommandBarButton
' menus d'Excel
nomBarre = "Worksheet menu bar"
'ajouter un menu
Set NewMenu = Application.CommandBars(nomBarre).Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "Macros"
'ajouter un bouton au menu
Set NewButton = NewMenu.Controls.Add(Type:=msoControlButton)
With NewButton
.Caption = "Macro 2"
.BeginGroup = True
.FaceId = 316
.OnAction = "Suppr_Menu"
End With
End Sub
Sub Suppr_Menu()
nomBarre = "Worksheet menu bar"
Set NewMenu = Application.CommandBars(nomBarre).Controls("Macros")
NewMenu.Delete
End Sub
Sa fonctionne à merveille, mais je voudrais pouvoir contrôler si le menu
existe déjà
avant de le supprimer, pour éviter la génération d'une erreur.
Dans le même esprit, je voudrais contrôler si le menu existe déjà pour
nepas en créer un nouveau.
Comment faire pour que le menu soit détruit quand l'on quitte le
classeur ?(Appelle de proc à la fermeture ?)
J'utilise cette méthode pour mettre une sorte de copyright sur un long
travail que j'ai effectué dans un classeur non protégé (la partie VBA,
ellel'est ;-) )
Y-a-t-il d'autres solutions pour rendre voyant (mais pas
exhibitionniste) lefait que je suis celui qui a créer une feuille ?
Par avance merci
Yvan, un peu perdu...