Message d'erreur excel si deux cellules complétées

[Résolu/Fermé]
Signaler
-
 Julie0609 -
Bonjour à tous,

Je travaille actuellement sur un fichier pour lequel je rencontre un problème : j'aimerais faire apparaitre un message d'erreur si deux cellules sont toutes les deux complétés en même temps. Ces cellules sont formés par la fusion de 5 cellules chacunes.

Comment dois-je faire ?


Merci de votre aide,

Julie

5 réponses

Messages postés
13097
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
16 septembre 2021
2 246
Bonsoir

1° Eviter les cellules fusionnés si on a à travailler dessus ensuite par formule ou par macros, ça pose toujours problème

2° Pas très clair ! Peux tu poster un exemple de ton fichier sur cjoint.com en indiquant les cellules concernées et revenir ici indiquer le lien fourni

Cdlmnt
Bonsoir,

J'ai pas eu le choix de fusionner mes cellules car je suis sur un calendrier. Le fichier étant plutôt confidentiel, je vais joindre seulement une partie de mon fichier.

http://cjoint.com/?3Air3InNGmr

Merci pour ton aide,

Julie
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Bonjour
je rejoins complètement Via et j'en profite pour lui souhaiter une bonne année, (ainsi qu'à tous, en fait)

ceci dit, vous pouvez carrément interdire une entrèe dans une cellule si une autre est déjà renseignée:
(si vous tenez à vos cellules fusionnées, adressez la solution à chacune des 1° cellule en haut du champ)
par exemple, pour éviter dune entrée en B1 si A1 est renseignée
sélectionnez B1
ruban / Données / Validation "personnalisé"
entrez la formule:
=$A1=""

et bien sur l'inverse en A1 via B1
les options de validation vous donne la possibilité d'interdire ou d'avertir (voir l'onglmet "alerte d'erreur" dans la fenêtre de validation

crdlmnt

Bonsoir,

Je te souhaite également une bonne année et surtout une bonne santé.

J'ai pensé à ta solution mais j'ai déjà une liste déroulante sur ces cellules et je ne peux pas par conséquent utiliser ta technique.

Je remets le lien de téléchargement de mon exemple de fichier : http://cjoint.com/?3Air3InNGmr

Merci de ton aide,

Julie
Messages postés
13097
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
16 septembre 2021
2 246 > Julie0609
Bonsoir Julie
Bonsoir Vaucluse, merci de tes voeux, je t'adresse tous les miens, à toi aussi Julie ;)

La solution de Vaucluse est possible en passant par un nom intermédiaire qui selon le cas va renvoyer à la liste de choix ou à rien, exemple d'après ton fichier :
https://www.cjoint.com/?0AisHlpHTCZ

Cdlmnt
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 897
Bonjour,

Si tu inverses E18 et E19 tu peux mettre ça en validation par liste :
=DECALER($E$17;;;($S$8="")+1;)

eric
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Re

un petit modèle ici.

C'est une "ruse" qui utilise les cellules 15 et E16, car pour pouvoir utiliser une formule dans la validation dans l'option liste, il faut que tout se passe dans la même colonne.
(les cellules E15 et E16 renvoie donc les valeurs de K8 et S8
Voyez les formules de validation

https://www.cjoint.com/c/EAitfB5KcaV

Par ailleurs il est aussi possible en VBA d'effacer un champ quand on rentre une valeur dans l'autre, mais sans avertissement (pour ce qui me concerne)



crdlmnt
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
... une petite suite
pour tenir compte de E1, placer en E15 la formule:

=SI(E1="4*";S8;0)

et même chose en E16 pour K8

crdlmnt
Bonjour,

Merci à tous, tout fonctionne correctement et c'est ce que je voulais. Cependant si en E1 j'ai autre chose d'écrit, je retrouve les listes alors que je souhaiterais ne pas pouvoir choisir dans ce cas.

Merci,

Julie
>
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021

Bonjour Eric,

Je n'arrive pas avec ta proposition, ça ne me mets pas la liste déroulante dans ma cellule après.

Julie
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 897
Ben justement, ça ne te la met que si l'autre cellule est vide pour n'autoriser qu'une seule saisie.
Tu peux mettre ton message d'alerte dans le 'message de saisie' de la validation
eric

edit : et pour tenir compte de E1 :
=DECALER($E$18;;;ET($S$8="";$E$1="4*")+1;)

Ex : https://www.cjoint.com/c/EAjk2SkXXqA

edit2 :
encore plus simple et tu peux conserver l'ordre que tu veux entre E18 et E19 :
=SI(($E$1="4*")*($S$8="");$E$18:$E$19;"")
>
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021

Merci Eric ! Ta première formule fonctionne.

Pour améliorer mon document en A1 je peux avoir ou "1*","4*" ou "6*" est -il possible par le même système d'avoir en possibilité pour le "1*" juste une case vide, pour le 4* la pratique que j'ai demandé plus haut et pour 6* que incluse ?

Merci de ton aide,

Julie
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 897
Je crains que tu ne compliques inutilement mais bon :
=SI($S$8<>"";"";SI($E$1="1*";$E$18;SI($E$1="6*";$E$19;SI($E$1="4*";$E$18:$E$19;""))))

https://www.cjoint.com/c/EAjnwdHR91U
eric
>
Messages postés
24184
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021

Effectivement ça complique ! J'ai gardé ta première proposition qui convient parfaitement !

Merci de ton aide,

Julie