Macro qui s'execute sur un clic

Résolu
shad -  
 shad -
Bonsoir,

j'aimerai créer une macro qui s'execute en cliquant sur une cellule mais je n'y arrive pas ..
j'ai deux listes déroulantes dans deux cellules différentes. je veux en cliquant sur une cellule, la macro efface l'affichage de la deuxième cellule sans changer le contenu de la liste

merci d'avance.

A voir également:

4 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
bonjour

en cliquant sur une cellule

Il faut utiliser la macro événementielle "selectionchange" en gérant les cellules concernées.

Si tu pouvais nous mettre un exemple sans éléments personnels mais avec la structure des données sur https://www.cjoint.com/ puis nous mettre le lien généré ici ce serait plus facile.
0
shad
 
merci pour la réponse, voici le lien vers le fichier

http://cjoint.com/?BBiwOfbQsWr
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut le fil,

deux codes à tester et à coller dans les propriétés de la feuille, clic droit sur l'onglet de feuille/Visualiser le code
le premier se déclenche sur un double clic et le second sur un clic droit au choix

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Union([F4], [F6])) Is Nothing Then
If ActiveCell.Address(0, 0) = "F4" Then [F6].ClearContents
If ActiveCell.Address(0, 0) = "F6" Then [F4].ClearContents
End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Union([F4], [F6])) Is Nothing Then
If ActiveCell.Address(0, 0) = "F4" Then [F6].ClearContents
If ActiveCell.Address(0, 0) = "F6" Then [F4].ClearContents
End If
End Sub
0
shad
 
merci c'est sympa..

j'ai un petit souci..c'est que celui qui vient après moi ne sais pas forcement qu'il doit faire un click droit ou un double click

y a un moyen d'éviter ça ? cad exécuter la macro avec un click de selection simple ?

merci
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
bonjour Mike, shad,

Ou bien si j'ai compris correctement la question, comme ceci :

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
    If Not Intersect(sel, [F4]) Is Nothing Then [F6].ClearContents
End Sub
0
Mike-31 Messages postés 18407 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

comme cela

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Union([F4], [F6])) Is Nothing Then
If ActiveCell.Address(0, 0) = "F4" Then [F6].ClearContents
If ActiveCell.Address(0, 0) = "F6" Then [F4].ClearContents
End If
End Sub
0
shad
 
:) merci Mike-31

ça maaarche !!! c'est cool

merci bien
0