XL 2016 msgbox si double clic ou clic droit sur cellule au lieu d'1 seul clic

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je bute sur un code que je n'arrive pas à faire fonctionner malgré mes recherches et essais.

J'ai fait les codes suivants :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("l1:l10000")) Is Nothing Then
    MsgBox ("Il ne faut pas double cliquer dans cette colonne !" & nbcel)
    Cells(ActiveCell.Row, 1).Select
    Exit Sub
    End If
    End Sub

Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Range("l1:l10000")) Is Nothing And R.Count = 1 Then
    MsgBox ("Bravo vous n'avez cliqué qu'une fois !" & nbcel)
    End If
End Sub

Mais même si on double clic par erreur, c'est le code "Private Sub Worksheet_SelectionChange(ByVal R As Range)"

Ma question : Est-il possible que si on double clic, que ce soit le double clic qui s'exécute en 1er ?


Un grand merci pour vos réponses.
Bonne fin de journée à toutes et à tous,
Amicalement,
lionel,
 
Dernière édition:
Bonsoir Lionel

essayes:
'remplacer ceci: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'par clic droit : Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

EDIT: non ça ne marche pas !
 
Dernière édition:
re

mais Lionel as-tu essayé: car ça règle ton problème tout de suite !
'remplacer ceci: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'par clic droit : Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

EDIT: non ça marche pas !
 
Dernière édition:
Re Roland,
J'ai fait une petit fichier test.

Avec les codes suivants dans la feuille :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("l1:l10000")) Is Nothing Then
    MsgBox ("Il ne faut pas double cliquer dans cette colonne !" & nbcel)
    Cells(ActiveCell.Row, 1).Select
    Exit Sub
    End If
    End Sub

Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Range("l1:l10000")) Is Nothing And R.Count = 1 Then
    MsgBox ("Bravo vous n'avez cliqué qu'une fois !" & nbcel)
    End If
End Sub

Je le joins 🙂
lionel,
 

Pièces jointes

re

on comprend rien à ton truc !?
au double clic on a le message
MsgBox ("Il ne faut pas double cliquer dans cette colonne !" & nbcel)

pourquoi tu mets ceci alors !?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

de toutes manières c'est l'un ou c'est l'autre !
 
OUI, je suis d'accord Roland.
Dans la même feuille j'ai des colonnes où c'est un double clic et d'autres seulement un clic.
C'est pour cela que j'ai mis l'exemple en 2 codes pour la même colonne.

Quand je fais le test chez moi c'est quasi tout le temps que le code du simple clic s'exécute.
lionel,
 
re

mais enfin, il suffit d'indiquer la bonne colonne, dans les feuilles différences !?
c'est ici que ça se passe ! toi tu mets la même chose dans les deux !? c'est ça qui va pas !!!
If Not Application.Intersect(Target, Range("l1:l10000")) Is Nothing Then
et bien entendu dans les bonnes feuilles, comprend pas !?

EDIT: dans une feuille c'est simple et une autre c'est double !? tu compliques !
de toute façon les deux ne peuvent pas aller ensemble dans la même feuille !
 
Dernière édition:
Re-Roland,

J'ai testé :
mais Lionel as-tu essayé: car ça règle ton problème tout de suite !
'remplacer ceci: Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'par clic droit : Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

Malheureusement, ça ne règle pas le problème 🙂
 
Je sais Roland, mais mon classeur de travail est complexe et pour certaines colonnes on doit juste cliquer et d'autres double cliquer 🙂

S'il y avait un moyen que le double clic s'exécute en premier ce serait génial 🙂
Mais ^ce n'est peut-être pas possible.
 
re

je t'assure que j'y comprend rien du tout !
ce n'est pas une question de complexité mais de logique

si dans une feuille la même colonne c'est simple clic et bien tu y mets le code pour simple clic et pas le double clic
si dans une feuille la même colonne c'est double clic et bien tu y mets le code pour double clic et pas le simple clic
c'est pas compliqué ! pourquoi veux tu mettre les deux dans chaque feuille ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
507
Réponses
4
Affichages
151
Réponses
14
Affichages
372
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
252
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
234
Réponses
1
Affichages
323
Réponses
3
Affichages
223
Retour