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

Résolu/Fermé
Julie0609 - 8 janv. 2015 à 17:05
 Julie0609 - 9 janv. 2015 à 13:42
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
A voir également:

5 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
8 janv. 2015 à 17:18
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
0
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
8 janv. 2015 à 17:27
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

0
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
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702 > Julie0609
Modifié par via55 le 8/01/2015 à 18:27
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
8 janv. 2015 à 18:28
Bonjour,

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

eric
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
8 janv. 2015 à 19:00
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
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
9 janv. 2015 à 06:23
... 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
9 janv. 2015 à 09:40
Bonjour,

As-tu testé ma proposition ?
eric
0
Julie0609 > eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023
9 janv. 2015 à 10:00
Bonjour Eric,

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

Julie
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
Modifié par eriiic le 9/01/2015 à 10:59
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;"")
0
Julie0609 > eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023
9 janv. 2015 à 12:40
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
9 janv. 2015 à 13:14
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
0