interdire macro "double clic" dans cellule

  • Initiateur de la discussion Initiateur de la discussion bcesoll
  • Date de début Date de début

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 !

B

bcesoll

Guest
bonjour,
dans l'exemple ci-dessous (fichier xls) je voudrais interdire l'execution de la macro double clic dans les cellules vides (ça c OK) mais aussi dans des les cellules remplies d'une autre valeur que celles d'une liste (CIBLE)

If Cells(Target.Row, Target.Column) = "" Or Cells(Target.Row, Target.Column) <> CIBLE Then
 

Pièces jointes

Re : interdire macro "double clic" dans cellule

bonsoir

peut etre quelque chose dans ce style :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim tablo
 
tablo = Range("cible")
Cancel = Target = "" = IsError(Application.Match(Target, tablo, 0))

End Sub

salut
 
Re : interdire macro "double clic" dans cellule

re

version moins exotique 😛

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim tablo
 
tablo = Range("cible")
 
If Target = "" Or Not IsError(Application.Match(Target, tablo, 0)) Then
    Cancel = True
End If
End Sub

a plus
 
Re : interdire macro "double clic" dans cellule

Bonjour bcesoll,

déjà, tu peux simplifier

Code:
Cells(Target.Row, Target.Column)

en

Code:
Target

sinon, pour la cible, un truc comme :

Code:
If target.value <> "" and application.worksheetfunction.countif(range("Cible"),Target.value)>0 Then

Edit : Bonjour Hervé
 
Dernière édition:
Re : interdire macro "double clic" dans cellule

ne dois-je pas garder "Cells(Target.Row, Target.Column)" lorsque je clicque sur une cellule fusionnée ?

Commnet s'écrit la condition dans ce cas ?
If Target = "" Or Not IsError(Application.Match(Target, tablo, 0)) Then
 
Re : interdire macro "double clic" dans cellule

salut

Ah la la ces cellules fusionnées 🙁

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim tablo
Dim pl As Range
If Target.MergeCells Then
    Set pl = Target(1)
Else
    Set pl = Target
End If

tablo = Range("cible")
Cancel = pl = "" = IsError(Application.Match(pl, tablo, 0))
End Sub

bye
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
586
Réponses
4
Affichages
737
Réponses
9
Affichages
884
Retour