Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Action au clic

9 réponses
Avatar
Greg
Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg

9 réponses

Avatar
Garnote
Salut Greg,

Un petit bricolage, peut-être ? :

Insère un rectangle sans remplissage et sans contour
dans une cellule et associe cette macro au rectangle :
Sub Mettre_Un_X()
v = Cells(4, 3).Value
Cells(4, 3).Value = IIf(v = "x", "", "x")
End Sub
* L'option « Aligner sur la grille » te permettra de
donner au rectangle les mêmes dimensions que
la cellule le contenant.

Serge


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg


Avatar
Greg
Je te remercie Serge pour ta réponse... mais...

Il y a des centaines de cellules... alors, je pense que c'est un peu
compliqué ainsi. N'est-il pas possible de s'y prendre autrement?

Merci

Greg


"Garnote" a écrit dans le message de
news:
Salut Greg,

Un petit bricolage, peut-être ? :

Insère un rectangle sans remplissage et sans contour
dans une cellule et associe cette macro au rectangle :
Sub Mettre_Un_X()
v = Cells(4, 3).Value
Cells(4, 3).Value = IIf(v = "x", "", "x")
End Sub
* L'option « Aligner sur la grille » te permettra de
donner au rectangle les mêmes dimensions que
la cellule le contenant.

Serge


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg






Avatar
Jacky
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg


Avatar
Greg
Bonsoir Jacky. Merci beaucoup pour ta proposition.

Je dois surement m'y prendre comme un manche.... mais ça ne marche pas:
http://cjoint.com/?mquCuLmehD

Je fais une bétise?


"Jacky" a écrit dans le message de
news:
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg






Avatar
Jacky
Re...
Je dois surement m'y prendre comme un manche


Ce n'est pas moi qui le dira ;o)))))

Je disais doc....
et mettre dans le module de la feuille




Clique droit sur l'onglet de la feuille ==>visualiser le code et coller dans
la grande fenêtre
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj200912/cijat5JYXr.xls

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonsoir Jacky. Merci beaucoup pour ta proposition.

Je dois surement m'y prendre comme un manche.... mais ça ne marche pas:
http://cjoint.com/?mquCuLmehD

Je fais une bétise?


"Jacky" a écrit dans le message de
news:
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg









Avatar
Greg
Merci beaucoup,

J'avais compris qu'il fallait créer un module... J'assume ;-))))

à plus

Greg

"Greg" a écrit dans le message de
news:
Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg


Avatar
Greg
Tout cela marche impec maintenant. Le simple clic est un peu gênant parfois.
Comment adapter le code pour les mêmes commandes (ajout et suppression du
"X") avec un double clic?

Merci à vous pour ce dernier petit changement...

Bonne nuit

Greg

"Jacky" a écrit dans le message de
news:
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg






Avatar
Jacky
Re
....avec un double clic?


Voila qui est sage ;o))

Au même endroit (module de feuille)
'---------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Set plage = [a1:D20]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Cancel = True
Target = IIf(UCase(Target) = "X", "", "X")
End If
End Sub
'---------

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Tout cela marche impec maintenant. Le simple clic est un peu gênant
parfois. Comment adapter le code pour les mêmes commandes (ajout et
suppression du "X") avec un double clic?

Merci à vous pour ce dernier petit changement...

Bonne nuit

Greg

"Jacky" a écrit dans le message de
news:
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg









Avatar
Greg
Merci Jacky, c'est magique!!!

à plus

Greg

Si par hasard tu passais du côté de mon post "masquer/afficher au fur et à
mesure" de 19h41, ce serait magnifique... je dois rendre la copie (euh....
les bulletins...) avant les vacances. Bien sûr, je ne veux pas abuser ;-)

Encore un grand merci (une fois de plus!)







"Jacky" a écrit dans le message de
news:uE$
Re
....avec un double clic?


Voila qui est sage ;o))

Au même endroit (module de feuille)
'---------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
Set plage = [a1:D20]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Cancel = True
Target = IIf(UCase(Target) = "X", "", "X")
End If
End Sub
'---------

--
Salutations
JJ


"Greg" a écrit dans le message de news:

Tout cela marche impec maintenant. Le simple clic est un peu gênant
parfois. Comment adapter le code pour les mêmes commandes (ajout et
suppression du "X") avec un double clic?

Merci à vous pour ce dernier petit changement...

Bonne nuit

Greg

"Jacky" a écrit dans le message de
news:
Bonsoir,

Adapter Plage
et mettre dans le module de la feuille
'---------------
Private Sub Worksheet_selectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Set plage = [a1]
'Set plage = [a1:A10]
If Not Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
Target = IIf(UCase(Target) = "X", "", "X")
Target.Offset(0, 1).Activate
End If
Application.EnableEvents = True
End Sub
'---------
--
Salutations
JJ


"Greg" a écrit dans le message de news:

Bonjour,

Je voudrais, si possible, une petite macro qui permette:

- d'écrire un "X" dans la cellule au clic (et non pas au double clic)
- d'effacer ce "X" s'il y a un nouveau clic dans la cellule

Pouvez-vous me venir en aide?

Merci

-----
Greg