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

XL 2019 lancer macro via double click selon colonne

juju91

XLDnaute Junior
Bonjour,

Apriori j'arrive à lancer une macro via un double click.
Mais je souhaiterais lancer deux macro l'une apres un double click dans une des cellules de la colonne A et une autre Macro si la celulle est dans la colonne B.
J'ai commencer mon code en nomment la colonne voir ci-dessous .

Est est qu'une bonne âme peut m'aider?? est ce que je suis sur le bon chemin?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("VALIDE")) Is Nothing Then Exit Sub
If Target.Value = "X" Then
Target.Value = ""
Else
Target.Value = "X"
End If
Cancel = True
End Sub

Par avance merci
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Que doivent faire ces deux macros ?
Un classeur avec quelques explications serait sans doute un supplément de chance pour une réponse.
 

juju91

XLDnaute Junior
Bonjour et merci de passer un peu de temps sur mon problème.
En fait, j'ai nommé une plage de cellule ''REFUSE '' de I17:I3000 avec le code donné dans mon premier échange avec un double click sur une des cellules de la plage, un ''X'' vient remplir la cellule active.
Maintenant et c'est la que j'ai un problème, je souhaiterais pouvoir faire un double click sur la plage nommé "VALIDE" de de B17:B3000 et qu'il s'inscrive ''OUI" dans la cellule active puis que dans la cellule droite de la même ligne vienne s'inscrire la date du jour mais il faudrait qu'elle soit fiché..
je me doute que c'est beaucoup demandé.
Par avance encore merci de votre aide.
 

Pièces jointes

  • DOUBLE CLICK.xlsm
    871.9 KB · Affichages: 5

Jacky67

XLDnaute Barbatruc
Re
La plage nommée "VALIDE" de B17:B3000 ==>serait "C19:Cx"
La plage nommée "REFUSE de i17:i3000 ==> serait "i19:ix"
Confirmation SVP
Sinon, dans le module de la feuille en question (avec les modif. ci-dessus)
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, [valide]) Is Nothing Then
        Target = IIf(Target = "Oui", "", "Oui")
        Target.Offset(, 2) = IIf(Target = "Oui", Date, "")
    End If
    If Not Intersect(Target, [refuse]) Is Nothing Then
        Target = IIf(Target = "X", "", "X")
    End If
End Sub

ps: Il y a beaucoup de code dans ce module qui (sauf erreur) n'ont rien à y faire.
 
Dernière édition:

Discussions similaires

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