OVH Cloud OVH Cloud

Clique droit

5 réponses
Avatar
Jacky
Bonjour

Comment désactiver momentanément en début de macro l'affichage du menu
contextuel généré par le clique droit de la souris, pour que dans le cas de
l'appel de:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean).

en fin de macro la fenêtre de ce menu n'apparaît pas.
et comment par la suite le réactiver.

Bonne journée
JJ

5 réponses

Avatar
ChrisV
Bonjour Jacky,

Pas sûr d'avoir bien saisi...

With Application
.ScreenUpdating = False
.CommandBars("Toolbar List").Enabled = False
End With
For Each cbar In CommandBars
If cbar.Type = msoBarTypePopup Then
cbar.Enabled = False
End If
Next cbar

' suite de la procédure

With Application
.ScreenUpdating = True
.CommandBars("Toolbar List").Enabled = True
End With
For Each cbar In CommandBars
If cbar.Type = msoBarTypePopup Then
cbar.Enabled = true
End If
Next cbar


ChrisV


"Jacky" a écrit dans le message de news:

Bonjour

Comment désactiver momentanément en début de macro l'affichage du menu
contextuel généré par le clique droit de la souris, pour que dans le cas
de

l'appel de:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean).

en fin de macro la fenêtre de ce menu n'apparaît pas.
et comment par la suite le réactiver.

Bonne journée
JJ




Avatar
RaMa
bonjour

Ma façcon de faire

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean)
na
na
na
na
na
na

Application.ScreenUpdating = False
Application.SendKeys ("{ESCAPE}")
Application.ScreenUpdating = True
End Sub

RaMa
"Jacky" a écrit dans le message de
news:
Bonjour

Comment désactiver momentanément en début de macro l'affichage du menu
contextuel généré par le clique droit de la souris, pour que dans le cas
de

l'appel de:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean).

en fin de macro la fenêtre de ce menu n'apparaît pas.
et comment par la suite le réactiver.

Bonne journée
JJ




Avatar
popi
Salut Jacky,
en complément tu peux créer une variable publique, lui affecter la valeur
false en début de macro et dans l'évènement clic droit tester cette variable

Dans un module standard :
Public autorizai

Sub ta_macro()
autorizai = False
......
.....
.....
.....
autorizai = True
End Sub

Et dans le module de feuille :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As
Boolean)
If autorizai = False Then Cancel = True
End Sub

@+ popi
Avatar
Jacky
Merci beaucoup Chris
Pas sûr d'avoir bien saisi...
Si...si


Ce sont les codes que je cherchais.
Placer au bon endroit, ils fonctionnent à merveille.
Amicalement
JJ

"ChrisV" a écrit dans le message de
news:%
Bonjour Jacky,

Pas sûr d'avoir bien saisi...

With Application
.ScreenUpdating = False
.CommandBars("Toolbar List").Enabled = False
End With
For Each cbar In CommandBars
If cbar.Type = msoBarTypePopup Then
cbar.Enabled = False
End If
Next cbar

' suite de la procédure

With Application
.ScreenUpdating = True
.CommandBars("Toolbar List").Enabled = True
End With
For Each cbar In CommandBars
If cbar.Type = msoBarTypePopup Then
cbar.Enabled = true
End If
Next cbar


ChrisV


"Jacky" a écrit dans le message de news:

Bonjour

Comment désactiver momentanément en début de macro l'affichage du menu
contextuel généré par le clique droit de la souris, pour que dans le cas
de

l'appel de:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range,
Cancel


As Boolean).

en fin de macro la fenêtre de ce menu n'apparaît pas.
et comment par la suite le réactiver.

Bonne journée
JJ








Avatar
Jacky
Bonjour Rama, Bonjour Popi

Merci d'avoir prêté attention à ma demande, le code de Chris me convient
parfaitement.
Bonne soirée
JJ

"Jacky" a écrit dans le message de
news:
Bonjour

Comment désactiver momentanément en début de macro l'affichage du menu
contextuel généré par le clique droit de la souris, pour que dans le cas
de

l'appel de:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel
As Boolean).

en fin de macro la fenêtre de ce menu n'apparaît pas.
et comment par la suite le réactiver.

Bonne journée
JJ