Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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:

Roland_M

XLDnaute Barbatruc
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:

Roland_M

XLDnaute Barbatruc
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:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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

  • Test doubleclic.xlsm
    16.1 KB · Affichages: 6

Roland_M

XLDnaute Barbatruc
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 !
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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,
 

Roland_M

XLDnaute Barbatruc
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:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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
 

Roland_M

XLDnaute Barbatruc
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 ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…