Inscrire X dans cellule en un clic

[Résolu/Fermé]
Signaler
Messages postés
29
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
12 février 2009
-
Messages postés
17601
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
-
Bonjour,

Je souhaiterai obtenir une formule qui me permettrait d'inscrire, lors d'un clic sur une cellule, la lettre "X" et de l'effacer en cliquant de nouveau dessus.

Merci pour vos réponses.

10 réponses

Messages postés
17601
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 785
Bonjour,

tu aurais dû ouvrir ta propre discussion à la place de relancer cette ancienne
enfin teste ce code qui inscrit un X sur un double clic.
A adapter
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Union([B17:H17], [J17:K17])) Is Nothing Then
If IsEmpty(Target) Then
Target = "X"
Cancel = True
Else
If Target = "X" Then
Target = ""
Cancel = True
End If
End If
End If
End Sub



A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
9
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
8 janvier 2009
2
voila le code :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("case_cochée"), Target) Is Nothing Then Exit Sub
If IsEmpty(Target) Then
Target = "x"
Cancel = True
Else
If Target = "x" Then
Target = ""
Cancel = True
End If
End If
End Sub

1 condition : creer une zone nommée case_cochée (insertion/nom/definir)
bonne réception
Messages postés
17601
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 785
Salut,

Pour suivre le code de Cherouana, tu places ce code dans le code feuille à traiter par exemple pour la feuill1
clic droit sur l'onglet de Feuil1 et colles ce code

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(ActiveCell, Target) Is Nothing Then Exit Sub
If IsEmpty(Target) Then
Target = "X"
Cancel = True
Else
If Target = "X" Then
Target = ""
Cancel = True
End If
End If
End Sub

Ensuite pour l'utiliser un clic droit sur les cellules vide à traiter

A+
BONJOUR

PAR LE MOT "X" TU VEUX CREER UNE CASE DE VALIDATION POURQUOI NE PAS UTILISER L OUTIL "CASE A COCHER"?
Messages postés
9
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
8 janvier 2009
2
bonsoir

J'ai une solution dans mes archives... Je pense que cela doit se faire assez facilement avec un petit code en VBA.
Veux tu tenter le coup?
Messages postés
29
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
12 février 2009

Bonjour et merci pour vos réponses !

En fait de la cellule de destination pour que le "X" s'inscrive se ferait uniquement sur la cellule A1, sans faire un double clic ou un clic droit, mais tout simplement un clic gauche (normal).

A+
Messages postés
17601
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 785
Salut,

Pourquoi écrire un code pour une cellule !!!

autant saisir directement X

A+
Messages postés
29
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
12 février 2009

Ben c'est que j'aimerai avoir tout simplement pour faciliter la saisie...

a+
Messages postés
17601
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 785
Salut,

teste ces deux codes qui s'adressent uniquement à la cellule A1
le code ci dessous est celui qui marche le mieux mais avec double clic

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

le code ci dessous un clic mets le X deuxième clic enléve le X

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
If IsEmpty(Target) Then
Target = "X"
Cancel = True
Else
If Target = "X" Then
Target = ""
Cancel = True
End If
End If
End Sub

Ne peut pas faire mieux A+
Bonsoir, je viens de tomber sur votre discussion qui m'intéresse :

Sur la ligne : "If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub"

Je souhaiterais applique la fonction sur deux plage de cellules: B17 à H117 et J17 à K117

Cordialement