Si cellule servie, le nombre de caractère doit être strictement égal à 5

Résolu/Fermé
Panda_5492 Messages postés 12 Date d'inscription mardi 23 mars 2021 Statut Membre Dernière intervention 17 mai 2021 - 8 avril 2021 à 13:52
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 - 10 avril 2021 à 01:55
Bonjour,

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

Je vous mets le lien vers mon fichier (simplifié pour le forum).
      • Dans la formule 1, en C1, je cherche la formule qui dit :


Si ce qui est indiqué en A1(A1;32;4) est = à REDA OU IDRE
ET si l'année en A2(A2;32;4) >=2015
ALORS j'ai un "code erreur",
Si rien n'est servi en A1 (A1;32;4) alors "OK".

J'ai tenté une 15 aine de formules, mais cela ne fonctionne pas... :(
      • Dans la formule 2, en C3 :


Si A3 (A3;32;5) est servi, alors il doit comporter obligatoirement 5 chiffres.
Sinon code erreur.

Pour la première formule, mon cerveau a complètement saturé :)
Pour la seconde formule, je n'ai aucune idée de la façon de procéder...

Je vous remercie d'avance pour votre précieuse aide :)
A voir également:

9 réponses

Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
8 avril 2021 à 14:46
Bonjour chère Panda !

Toujours des difficultés à expliquer de manière claire ce que tu veux ...

1) Tu parles de formule en C1 ; dans ton fichier, elle est en B1 !

2) Ce que tu décris comme action de ta formule, c'est
Si ce qui est indiqué en A1(A1;32;4) est = à REDA OU IDRE ET si l'année en A2(A2;32;4) >=2015 ALORS j'ai un "code erreur", Si rien n'est servi en A1 (A1;32;4) alors "OK"
que moi je traduirais ainsi
Si A1 contient moins de 32 caractères alors afficher "OK". Si les 4 derniers caractères de A1 sont "REDA" ou "IDRE" et si l'année en fin de A2 est >=2015, alors afficher le texte "code erreur", sinon afficher "???"
. Est-ce bien cela, ou faut-il corriger quelque chose ?
0
Panda_5492 Messages postés 12 Date d'inscription mardi 23 mars 2021 Statut Membre Dernière intervention 17 mai 2021
8 avril 2021 à 15:26
Bonjour Raymond :)

Oui, ce n'est jamais très évident de bien expliquer !

1) En colonne B, j'ai fait des premiers filtres pour moi, pour bien voir ce qu'il y a à partir de la colonne A, à partir du caractère 32, car pour des raisons que je ne maîtrise pas, mon application ne prendra en compte que les données de la colonne A,, après les :, donc à partir du caractère 32. C'est pour cela que j'ai précisé (A1;32;4) par exemple.

2) Non pas tout à fait :
Si après les : de A1, donc (A1;32;4), sur 4 caractères, les caractères sont "REDA" ou "IDRE", le reste c'est ça : et si l'année en fin de A2 (donc (A2;32;4) >= 2015 alors "code erreur".
Si après les : de A1, rien n'est saisi c'est "OK"

...J'espère avoir clarifié... sinon vraiment je ne fais pas exprès ! Pardonnez moi !
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
8 avril 2021 à 16:23
... donc l'exposé correct du problème est
 Si A1 contient moins de 32 caractères alors afficher "OK". Si les 4 derniers caractères de A1 sont "REDA" ou "IDRE" alors les afficher. Si l'année en fin de A2 est >=2015, alors afficher le texte "code erreur", sinon afficher "?"
Nous sommes d'accord ?
Dans ce cas la formule sera
=SI(NBCAR(A1)<32;"OK"; SI(CNUM(STXT(A2;32;4))>2014;"code erreur"; SI(OU(STXT(A1;32;4)= "REDA";STXT(A1;32;4)="IDRE");STXT(A1;32;4);"je réfléchis à un message !")))
1) Excel regarde d'abord si A1 contient moins de 32 caractères, et affiche alors "OK" ;
2) sinon Excel regarde la date en A2 ; si elle dépasse 2014 alors "code erreur" s'affiche ;
3) sinon Excel lit les derniers caractères de A1 et les affiche s'il s'agit de REDA ou IDRE ; mais tu n'as pas indiqué ce qu'il faut afficher s'il s'agit d'un autre texte !

ATTENTION ! Si tu désires tester la présence de REDA/IDRE avant de gérer la date, il faut intervertir les deux tests dans la formule ...
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
8 avril 2021 à 16:53
Si A3 (A3;32;5) est servi, alors il doit comporter 5 chiffres. Sinon code erreur
:
=SI(ET(NBCAR(STXT(A3;32;99))=5;ESTNUM(STXT(A3;32;5)*1));"Oui";"code erreur")
0

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

Posez votre question
Panda_5492 Messages postés 12 Date d'inscription mardi 23 mars 2021 Statut Membre Dernière intervention 17 mai 2021
8 avril 2021 à 17:05
Merci Raymond.

Le contrôle de la date fonctionne très bien, en revanche, j'ai l'impression que la 2e partie de la formule ne fonctionne pas. Car si je mets REDA ou IDRE je n'ai pas : "je réflechis à un message! (que je voulais aussi écrire "code erreur").

Je voudrais que précisément si on renseigne REDA ou IDRE, il y ait le code erreur "code erreur".

Et si on renseigne un autre code, par exemple LARC, PIOT(j'invente..), il doit y avoir OK.


Et pour la seconde formule que je cherche, as tu une idée ?
C'est à dire qu'à la cellule C3, je voudrais que ce qui est renseigné en A3 après les : il n'y ait exactement 5 caractères. Dans ce cas "OK"
Si moins de 5 caractères ou plus de 5 caractères = "Erreur"

Merci pour ton aide.
0
Panda_5492 Messages postés 12 Date d'inscription mardi 23 mars 2021 Statut Membre Dernière intervention 17 mai 2021
8 avril 2021 à 17:32
Je n'avais pas vu ta réponse de 16:53, OK super !
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
8 avril 2021 à 23:28
Avec les commentaires que j'ai ajoutés à mes formules, et maintenant que tu es parvenue à exprimer exactement ce que tu veux, tu devrais être capable d'écrire convenablement ta formule, non ? Essaie ...
0
Panda_5492 Messages postés 12 Date d'inscription mardi 23 mars 2021 Statut Membre Dernière intervention 17 mai 2021
9 avril 2021 à 09:50
Bonjour Raymond, j'ai adapté à mon tableau excel et ca fonctionne.

La seconde formule fonctionne également très bien.

Merci beaucoup ! Tu es SUPER !
0
Raymond PENTIER Messages postés 58389 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 avril 2024 17 090
10 avril 2021 à 01:55
Tu vois, chère amie ! En s'y mettant à mains, on finit par y arriver ...

Bon week-end.
0