Action au clic

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Garnote
Le #20782481
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"
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


Greg
Le #20782651
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" 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"
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






Jacky
Le #20782621
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"
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


Greg
Le #20782731
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" 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"
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






Jacky
Le #20783051
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"
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" 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"
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









Greg
Le #20783701
Merci beaucoup,

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

à plus

Greg

"Greg" 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


Greg
Le #20784501
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" 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"
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






Jacky
Le #20784551
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"
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" 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"
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









Greg
Le #20784591
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" 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"
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" 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"
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













Publicité
Poster une réponse
Anonyme