Macro empêchée si cellule voisine non vide

Bonjour,
je remercie d’avance toute assistance au problème suivant: Le but est un questionnaire à faire remplir avec réponse oui, ou non. Lorsque la personne répond, une macro remplit la cellule si double clic.
Le dilemme consiste à empêcher une double saisie. Si oui a été coché, on ne doit pas pouvoir saisir aussi le non et inversement.
La macro actuelle (qui fonctionne bien) est:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If UCase(Target) = « X » Then Target = «  » Else Target = « ü »
Cancel = True
End Sub
Je ne parviens pas à insérer la condition de macro refusée si autre case déjà remplie.
A vous lire, cordialement Yves

Bonjour

Réponse en colonne A ou en colonne B
Pour éviter une réponse dans une colonne si l’autre est remplie

Doubleclick en colonne A
If Target.column =1 and Range(« B » & Target.row) = «  » Then
On remplit
Else
On ne remplit pas
End If
Inversement doubleclick en colonne B

If Target.column =2 and Range(« A » & Target.row) = «  » Then
On remplit
Else
On ne remplit pas
End If

Je ne sais pas si cela répond à ton attente

A toi de me dire

Bonjour et merci d’avoir regardé.
La formule devrait fonctionner mais est refusée par « erreur séparateur ou ) ».
J’espère que ça t’inspires. Ca doit être un manque mineur.
Pour compléter, si utile, la cible est en colonnes E pour « oui » et F pour « non » et sept questions de E6 à F12.
Si tu ne trouves pas, ce n’est pas grave. je compterais sur les membres de l’association pour ne pas cocher simultanément oui et non !
A te lire

La formule devrait fonctionner mais est refusée par « erreur séparateur ou ) ».

Je n’ai pas compris

« est refusée par « erreur séparateur ou ) ». »

mais encore ???

L’alerte est: Erreur compilation Attendu: séparateur de liste ou )
Ca donne ça, avec peut-être une bourde de manipulation:
If Target.column =1 and Range(« F » & Target.row) = « » Then
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If UCase(Target) = « X » Then Target = «  » Else Target = « ü »
Cancel = True
Else
Range(« E6:E12 ») = «  »
End If

Je ne aurais pas mis comme cela

If Target.column =1 and Range(« F » & Target.row) = « » Then
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If UCase(Target) = « X » Then Target = « » Else Target = « ü »
Cancel = True
Else
Range(« E6:E12 ») = « »
End If

Mais comme ceci
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.column =1 and Range(« F » & Target.row) = « » Then
If UCase(Target) = « X » Then Target = « » Else Target = « ü »
Cancel = True
Else
Range(« E6:E12 ») = « »
End If
End Sub
Cela devrait mieux fonctionner
Dis moi

Bonjour,
hélas non. Cela provoque: « erreur syntaxe »

Ci-joint un exemple

Colonne E les oui colonne F les non

doubleclique dans une cellule d’une des 2 colonnes
si sur la même ligne l’autre colonne à un « X » le doubleclique n’a aucun effet
si sur la même ligne l’autre colonne est vide le doubleclique met un « X »

Testes et dis moi

Classeur1.xlsm (13,9 Ko)

Avec la dernière version des instructions, le double clic ne donne rien dans aucune cellule des colonnes E & F.
Si je tape un caractère, X ou autre, il reste affiché en F ou E et la saisie sur la même ligne n’est pas empêchée.
La condition de saisie initiale en double clic ne fonctionne donc plus.

Désolé mais quand je double clique sur une cellule d’une colonne et que l’autre même ligne est vide un « X » est intégré :

avant doubleclick :

image

Aprés doubleclick :

image

ligne du dessous autre colonne

avant doubleclick

image

Aprés doubleclick :

image

Tout doubleclick dans la même configuration pour ces 2 colonnes donne ce même résultat

Pour ces ces 2 cellules avec la présence de la donnée « X » tout doubleclick sur l’autre colonne même ligne n’aura aucun effet

« Si je tape un caractère, X ou autre, il reste affiché en F ou E et la saisie sur la même ligne n’est pas empêchée. »

Attention il n’a jamais été question d’une saisie mais d’un doubleclick

On peut sans souci verrouiller ces cellules à la saisie et conserver ce fonctionnement

A toi de voir

Mais conformément à tes indications initiales le traitement répond :

" Lorsque la personne répond, une macro remplit la cellule si double clic.
Le dilemme consiste à empêcher une double saisie. Si oui a été coché, on ne doit pas pouvoir saisir aussi le non et inversement."

Si ce n’est pas le cas pour toi merci de clarifier ta demande

1 « J'aime »

Erratum!
J’avais omis d’enregistrer. CA MARCHE!
Tu es formidable!
Merci beaucoup, je vais pouvoir revenir vers mes adhérents sans omettre que c’est grâce à « FFO »!
Au plaisir

Je te transmet un nouvel exemplaire qui interdit colonne E et F toute saisie manuelle seul le doubleclick met ou pas en fonction de l’exigences d’un seul choix « oui » ou « non » le caractère « X » dans la cellule

Pour intervenir à la main (nettoyer par exemple toutes les cellules des 2 colonnes pour une réinitialisation de l’ensemble) il faut ôter la protection de la feuille puis la remettre pour une nouvelle utilisation (clique droit sur le nom de l’onglet puis cliquer sur « Ôter la protection de la feuille »)
La protection de la feuille sera de toute façon automatiquement remise au premier doubleclick

Testes et dis moi

Classeur1.xlsm (14,5 Ko)

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.