Application.Commandbars("Cell").Enabledúlse
Cancel=True
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell par
une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Application.Commandbars("Cell").Enabledúlse
Cancel=True
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell par
une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Application.Commandbars("Cell").Enabledúlse
Cancel=True
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell par
une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonsoir,
Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95" <grumlardold@wanadoo.fr>
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnalisée
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" a écrit dans le message de
news:Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" <tissot.emmanuel@free.fr> a écrit dans le message de
news: O3mvxxYoHHA.208@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95" <grumlardold@wanadoo.fr>
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnalisée
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" a écrit dans le message de
news:Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc :
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on ouvre
un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient autrement
qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonjour,J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Pour que le menu standard s'affiche après ton menu perso il suffit
d'enlever Cancel = True.
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
End Sub
Pour que le menu standard s'affiche avant le menu perso:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("Cell").ShowPopup
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel=True
End Sub
Ces solutions ne sont en général pas très satisfaisante pour les betas,
donc si tu veux intégrer les commandes personnalisées au menu standard
uniquement pour le classeur 'Applicatif':
Dans ThisWorkBook:
Private Sub Workbook_Open()
Application.CommandBars("Cell").Reset
With Application.CommandBars("Cell").Controls
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro1"
.Item(.Count).OnAction = "Macro1"
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro2"
.Item(.Count).OnAction = "Macro2"
End With
End Sub
Private Sub Workbook_Deactivate()
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = False
Next
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = True
Next
End Sub
Dans un module Standard:
Public Sub Macro1()
MsgBox "Macro1"
End Sub
Public Sub Macro2()
MsgBox "Macro2"
End Sub
Je te laisse gérer la remise en etat du menu dans Workbook_BeforeClose,
revient si ca pose probleme.
Cordialement,
Manu/
"Pounet95" a écrit dans le message de news:
465c0214$0$25910$Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" a écrit dans le message de
news:Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu
contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans
avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc
:
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient
autrement qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonjour,
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Pour que le menu standard s'affiche après ton menu perso il suffit
d'enlever Cancel = True.
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
End Sub
Pour que le menu standard s'affiche avant le menu perso:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("Cell").ShowPopup
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel=True
End Sub
Ces solutions ne sont en général pas très satisfaisante pour les betas,
donc si tu veux intégrer les commandes personnalisées au menu standard
uniquement pour le classeur 'Applicatif':
Dans ThisWorkBook:
Private Sub Workbook_Open()
Application.CommandBars("Cell").Reset
With Application.CommandBars("Cell").Controls
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro1"
.Item(.Count).OnAction = "Macro1"
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro2"
.Item(.Count).OnAction = "Macro2"
End With
End Sub
Private Sub Workbook_Deactivate()
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = False
Next
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = True
Next
End Sub
Dans un module Standard:
Public Sub Macro1()
MsgBox "Macro1"
End Sub
Public Sub Macro2()
MsgBox "Macro2"
End Sub
Je te laisse gérer la remise en etat du menu dans Workbook_BeforeClose,
revient si ca pose probleme.
Cordialement,
Manu/
"Pounet95" <grumlardold@wanadoo.fr> a écrit dans le message de news:
465c0214$0$25910$ba4acef3@news.orange.fr...
Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" <tissot.emmanuel@free.fr> a écrit dans le message de
news: O3mvxxYoHHA.208@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu
contextuel
standard et la deuxieme annule son apparition.
Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans
avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95" <grumlardold@wanadoo.fr>
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnalisée
Bonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc
:
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient
autrement qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95
Bonjour,J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Pour que le menu standard s'affiche après ton menu perso il suffit
d'enlever Cancel = True.
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
End Sub
Pour que le menu standard s'affiche avant le menu perso:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Application.CommandBars("Cell").ShowPopup
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel=True
End Sub
Ces solutions ne sont en général pas très satisfaisante pour les betas,
donc si tu veux intégrer les commandes personnalisées au menu standard
uniquement pour le classeur 'Applicatif':
Dans ThisWorkBook:
Private Sub Workbook_Open()
Application.CommandBars("Cell").Reset
With Application.CommandBars("Cell").Controls
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro1"
.Item(.Count).OnAction = "Macro1"
.Add Type:=msoControlButton
.Item(.Count).Caption = "Macro2"
.Item(.Count).OnAction = "Macro2"
End With
End Sub
Private Sub Workbook_Deactivate()
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = False
Next
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean)
Dim cc As CommandBarControl
For Each cc In Application.CommandBars("Cell").Controls
If cc.BuiltIn = False Then cc.Visible = True
Next
End Sub
Dans un module Standard:
Public Sub Macro1()
MsgBox "Macro1"
End Sub
Public Sub Macro2()
MsgBox "Macro2"
End Sub
Je te laisse gérer la remise en etat du menu dans Workbook_BeforeClose,
revient si ca pose probleme.
Cordialement,
Manu/
"Pounet95" a écrit dans le message de news:
465c0214$0$25910$Bonjour,
Tout d'abord merci pour l'explication du double emploi. Je n'avais pas
bien compris l'exemple de l'aide.
Dans les évènements Activate/DeActivate du Workbook, il n'y a plus rien
depuis que j'ai le problème. Mais avant j'y mettais de quoi rétablir le
bon menu Excel ou Applicatif.
J'ai donc corrigé en fonction de ton explication et déjà les
'bêtatesteurs' ralent ;o((( car ils voudraient TOUT : le menu contextuel
normal et le personnalisé !!!
Sauf à ajouter le personnalisé au standard, je ne vois pas comment faire.
Je vais tenter de trouver une solution, mais suis toujours preneur de
toute suggestion.
Merci encore
Pounet95
"tissot.emmanuel" a écrit dans le message de
news:Bonsoir,Application.Commandbars("Cell").Enabledúlse
Cancel=True
Ces instructions font double emploi, la 1ere desactive le menu
contextuel
standard et la deuxieme annule son apparition.Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
Logique puisque ce menu est désactivé.
Dans le module ThisWorkbook du classeur 'Applicatif'
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target
As Range, Cancel As Boolean)
Application.CommandBars("MonMenuContextuel").ShowPopup
Cancel = True
End Sub
Est suffisant pour que ton menu contextuel personnalisé s'affiche dans
toutes les feuilles de ce classeur et seulement dans celui la, sans
avoir
recours aux evenements Workbook_Activate et Workbook_Deactivate.
Concernant la perte du copier-coller je n'ai pas réussi à reproduire le
probleme, chez moi ca fonctionne dans les deux sens. Il faudrait voir ce
que
tu as dans ta procédure Workbook_Activate.
Cordialement,
Manu/
----- Original Message -----
From: "Pounet95"
Newsgroups: microsoft.public.fr.excel
Sent: Monday, May 28, 2007 6:23 PM
Subject: Barre de menus personnaliséeBonsoir à toutes et tous,
Windows XP / Windows 2000 et Excel2000
Dans une application, j'ai remplacé la barre de menu contextuelle cell
par une barre de menu personnalisée.
Dans le module du classeur, l'évènement BeforeRightClick contient donc
:
Application.Commandbars("Cell").Enabledúlse
Application.Commandbars("MonMenuContextuel").ShowPopUp
Cancel=True
Tant que je suis dans le classeur, pas de problème.
Là où ça se complique c'est quand dans la même instance d'Excel on
ouvre un ou plusieurs autres classeurs,
on ne dispose plus du menu 'normal' Excel.
En utilisant les évènements WorkbookActivate et WorkbookDeActivate,
j'arrive bien à avoir le bon menu dans le bon classeur, mais
dans le cas de copier/coller par exemple, le fait de passer du classeur
'normal' au classeur 'applicatif', je perd le contenu du copier/coller.
Pensez-vous qu'il soit possible de remédier à cet inconvénient
autrement qu'en rajoutant au menu "Cell" les menus de ma barre perso ?
Merci de vos suggestions.
Pounet95