Forumule SI, Forcer le calcule d'une cellule texte

Bonjour le forum!

J'ai un léger problème pour une de mes fonctions SI. En voici un exemple plus qu'approchant:

=SI(OU(A1*1<AUJOURDHUI();A1="Terminée";ESTVIDE(A1));"OK";"PASOK")

En sachant que:

  • A1 est une cellule au format texte
  • A1 peut être amené à être du texte OU une date au format texte (jj/mm/aaaa) OU une date imprécise au format texte (mm/aaaa ou /aaaa)
  • Je veux laisser cette cellule au format texte

Le problème est que si c'est du texte OU une date imprécise et bien en résultat j'ai "#VALEUR" et que la formule fonctionne que si c'est une date précise (jj/mm/aaaa)... Évidemment je serai amené à avoir du texte ou une date imprécise... Et donc problème... Comme me formule calcule A1*1 et bien la formule bloque et ne prend donc pas en compte les autres possibilité (comme "Terminée" ou "ESTVIDE"...). Comment faire en sorte que si A1*1 nous renvoie à "#VALEUR" et bien continuer sur les autres possibilité du "OU"?

Merci d'avance pour votre aide et bonnes fêtes à tous!

Bonjour,

Une proposition :

=SIERREUR(SI(OU(ESTVIDE(A1);A1="Terminée");"OK";SI(A1*1<=AUJOURDHUI();"OK";"PASOK"));"PASOK")

Bon réveillon et bonnes fêtes de fin d'année.

CDlt.

Bonjour

Une autre

=SI(ESTVIDE(A1);"";SI(A1="Terminée";"OK";SI(OU(A1*1<AUJOURDHUI();A1="Terminée";ESTVIDE(A1));"OK";"PASOK")))

Cordialement

Merci pour vos réponses! Je pense comprendre le principe mais je n'arrive pas à le mettre en application sur mes formules...

Par exemple celle-ci:

=SI(ET(OU(A1="Terminée";ET(A1*1<AUJOURDHUI();B2=B3);ESTVIDE(A1));OU(A2="Terminé(s)";ET(A1*1<AUJOURDHUI();C2=C3);ESTVIDE(A2));ESTVIDE(A2));OU(A3="Terminé(s)";ET(A3*1<AUJOURDHUI();D2=D3);ESTVIDE(A3)));"Série terminée";"")

En gros y'a 3 possibilités pour chaque cellule!

Et ce qui m'a fait venir sur ce forum c'est le "*1" qui me renvoie à #VALEUR.

Pourriez vous me donner la solution sur cette formule? J'aurai du commencer par là car l'exemple que j'ai donné est beaucoup moins complexe alors que toutes mes formules on cette tronche

Je vous souhaite un joyeux noël en espérant que vous ayez récupéré du réveillon!!!

Bonjour

Ton prmier message ne parle que de A1

Dans le dernier, nous avons droit à A1, A2, A3

Merci d'envoyer un fichier afin que nous ayons la réalité.

Pour ce qui est du #VALEUR, il est évident que "Terminé"*1 ne marche pas et renvoie cette erreur.

Cordialement

bonjour

le fichier ???

en attendant ;d'apres tes dires

=SI(OU(TEXTE(A1;"jj/mm/aaaa")<AUJOURDHUI();A1="Terminée";ESTVIDE(A1));"OK";"PASOK")

cordialement

C'était un exemple pour voir si je pourrai l'adapter à ma formule mais j'ai rien capté je l'avoue!

Voila un fichier, je l'ai épuré pour pouvoir le partager et la formule n'est pas entière mais si j'ai un exemple sur celle-ci et bien je saurai l'adapter ce coup ci

Merci d'avance et bonne fin de journée de noël!

16test.xlsx (35.13 Ko)

re

un essai

20test1-3.xlsx (31.29 Ko)

cordialement

Bonjour,

Tu peux utiliser Somme() qui est insensible au texte.

=somme(a1) =>0 si texte en a1.

eric

Merci pour vos réponses, le "SOMME" me parait plus pratique que la deuxième solution. J'ai simplement fait "SOMME(Prévisions!E18*1)" et il n'y a plus le problème #VALEUR mais en continuant ma formule je suis tombé sur un autre soucis qui me ramène à #VALEUR et impossible de mettre le doit dessus. Je vous donner la formule que j'ai commencé (ne rigolez pas de la taille ) :

=SI(Prévisions!E18="En pause";"Série en pause";SI(Prévisions!F18="En pause";"OAV(s) en pause";SI(ET(ESTVIDE(Prévisions!E18);OU(ET('Tableau des téléchargements'!E18=Prévisions!C18;SOMME(Prévisions!F18*1)<AUJOURDHUI());ET(Prévisions!C18='Tableau des téléchargements'!E18;Prévisions!F18="Terminé(s)"));ESTVIDE(Prévisions!G18));"OAV(s) terminé(s)";SI(ET(ESTVIDE(Prévisions!E18);OU(ET('Tableau des téléchargements'!G18=Prévisions!D18;SOMME(Prévisions!G18*1)<AUJOURDHUI());ET(Prévisions!D18='Tableau des téléchargements'!G18;Prévisions!G18="Terminé(s)"));ESTVIDE(Prévisions!F18));"Film(s) terminé(s)";SI(ET(OU(ET(SOMME(Prévisions!E18*1)<AUJOURDHUI();Prévisions!B18='Tableau des téléchargements'!C18);Prévisions!E18="Terminée");OU(ESTVIDE(Prévisions!F18);ET(SOMME(Prévisions!F18*1)<AUJOURDHUI();Prévisions!C18='Tableau des téléchargements'!E18);Prévisions!F18="Terminé(s)");OU(ESTVIDE(Prévisions!G18);ET(SOMME(Prévisions!G18*1)<AUJOURDHUI();Prévisions!D18='Tableau des téléchargements'!G18);Prévisions!G18="Terminé(s)"));"Série terminée";SI(ET(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?"));ET(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!G18="!";'Tableau des téléchargements'!G18="?")));"Série, OAV(s) et Film(s) en cours";SI(ET(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;DROITE(Prévisions!B18;1)="+";SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;DROITE(Prévisions!C18;1)="+";SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?")));"Série et OAV(s) en cours (non précisés)";SI(ET(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?")));"Série et OAV(s) en cours";SI(ET(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));ET(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!G18="!";'Tableau des téléchargements'!G18="?")));"Série et Film(s) en cours";SI(ET(ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?"));ET(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!G18="!";'Tableau des téléchargements'!G18="?")));"OAV(s) et Film(s) en cours";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;DROITE(Prévisions!B18;1)="+";SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));"Série en cours (non précisé)";SI(ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;DROITE(Prévisions!C18;1)="+";SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?"));"OAV(s) en cours (non précisé)";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!C18="!";'Tableau des téléchargements'!C18="?"));"Série en cours";SI(ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!E18="!";'Tableau des téléchargements'!E18="?"));"OAV(s) en cours";SI(ET(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)<=AUJOURDHUI();OU('Tableau des téléchargements'!G18="!";'Tableau des téléchargements'!G18="?"));"Film(s) en cours";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)>AUJOURDHUI();NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)>AUJOURDHUI();NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)>AUJOURDHUI());"Série, OAV(s) et Film(s) à venir";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)>AUJOURDHUI();NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)>AUJOURDHUI());"Série et OAV(s) à venir";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)>AUJOURDHUI();NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)>AUJOURDHUI());"Série et Film(s) à venir";SI(ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)>AUJOURDHUI();NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)>AUJOURDHUI());"OAV(s) et Film(s) à venir";SI(ET(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=2;SOMME(Prévisions!E18*1)>AUJOURDHUI());"Série à venir";SI(ET(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=2;SOMME(Prévisions!F18*1)>AUJOURDHUI());"OAV(s) à venir";SI(ET(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=2;SOMME(Prévisions!G18*1)>AUJOURDHUI());"Film(s) à venir";SI(ET(OU(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=1;Prévisions!E18="A venir");OU(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=1;Prévisions!F18="A venir");OU(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=1;Prévisions!G18="A venir"));"Série, OAV(s) et Film(s) à venir (non précisé)";"")))))))))))))))))))))))

J'ai modifié mes cellules pour tester si la dernière SI fonctionne:

SI(ET(OU(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=1;Prévisions!E18="A venir");OU(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=1;Prévisions!F18="A venir");OU(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=1;Prévisions!G18="A venir"));"Série, OAV(s) et Film(s) à venir (non précisé)"

Si je met des dates à un seul "/" cela fonctionne et me renvoie bien le résultat "Série, OAV(s) et Film(s) (non précisé)" mais si je met "A venir" cela me renvoie #VALEUR alors que c'est censé fonctionner...

Une idée?

Un gros merci a vous deux pour vos réponses!

bonjour

le probleme c'est prevision!E...*1 qui ne sera jamais reconnu comme une date et, comme tu le compare a aujourdhui() >>>>plouf

Amadeus te l'avait dit , je t'avais proposé de convertir avec TEXTE( "jj/mm/aaaa") ....................................

cordialement

Ce problème de *1 est réglé dans ma formule grâce à SOMME() , j'ai mis SOMME() à chaque fois que je multiplie par 1 pour forcer le format texte à se mettre en date pour le comparer à AUJOURDHUI(), le problème ne viens pas de là... Il vient de la dernière SI dans ma formule:

SI(ET(OU(NBCAR(Prévisions!E18)-NBCAR(SUBSTITUE(Prévisions!E18;"/";""))=1;Prévisions!E18="A venir");OU(NBCAR(Prévisions!F18)-NBCAR(SUBSTITUE(Prévisions!F18;"/";""))=1;Prévisions!F18="A venir");OU(NBCAR(Prévisions!G18)-NBCAR(SUBSTITUE(Prévisions!G18;"/";""))=1;Prévisions!G18="A venir"));"Série, OAV(s) et Film(s) à venir (non précisé)";""

Comme tu peux le voir pas de *1 ou que se soit, cette partie de la formule fonctionne si j'entre un seul "/" dans les 3 cellules concernées mais pas si je met "A venir" dans ces trois cellules... Je peut mettre "Terminée" dans ma première cellule et le résultat me renverra "Série terminée" correctement donc le #VALEUR ne vient pas du *1... Sauf si j'ai mal regardé mais je viens de re vérifier et je n'ai pas laissé de *1 sans SOMME() et puis de toute manière, quand je test ma formule il n'y a que la dernière partie ci dessus qui ne veux pas me renvoyer le résultat "Série, OAV(s) et Film(s) à venir"...

La je demande dans ma dernière partie que si j'ai soit "A venir" soit 1 "/" dans les 3 cellules et bien qu'on me donne le résultat... Je ne vois pas ou je bloque...

PS: pour le *1 on m'a clairement expliqué que si j'ai une date au format texte, en le *1 je force la conversion en date et d'ailleurs cela a toujours bien fonctionné, je comprend bien qu'on ne puisse pas *1 un mot comme "Terminée" mais la dans ma dernière partie il n'y a pas de *1...

:3 Je re test mes formules et je me rend compte que certaine ne fonctionne plus! Un vrai casse tête.

Pourrais-tu m'expliquer le principe de ta formule tulipe, je vais m'ouvrir à pleins de solutions y'en a bien une qui fonctionnera, j'ai mis SOMME() avant chaque *1 mais j'ai encore des #VALEUR dans certains cas...

Je suis tout ouïe pour une petite explication! Merci de ta réponse!

EDIT: je comprend vraiment pas... tout à l'heure en testant formule par formule, aucun #VALEUR grâce à SOMME() mais la... bin c'est plus le cas, peut être l'accumulation de plusieurs SI et un endroit ou sa coince...

Up!

Tulipe, aurais tu l'amabilité de m'expliquer le fonctionnement ainsi que l'application de ta formule pour que je puisse reproduire la chose car quand je regarde je ne comprend pas. De plus j'ai testé le fichier que tu m'a renvoyé et quand je rentre une date cela ne fonctionner pas et ne me renvoie pas la valeur "Série terminée"...

Merci encore et bonne année en retard!

bonjour

n'yaurait il pas un soucis d'espace lors de la saisie qui polluerait les operations? parfois il suffit de pas grand chose

cordialement

Pas d'espace qui pollue la formule, il manquait un "a" dans "jj/mm/aaaa", je l'ai rajouté mais aucun changement...

Je remplie correctement les conditions pour déclencher la valeur si vrai mais rien à y faire on dirait que le TEXTE("jj/mm/aaaa") ne fonctionne pas.

Bonjour! Un petit up! Je suis ouvert à toute propositions et si possible une explication sur l'utilisation de TEXT("jj/mm/aaa").

A très vite!

Bonjour le forum!

J'ai fait de multiple test. Je ne sais pourquoi mais le TEXTE("jj/mm/aaaa") ne fonctionnait pas. Le SOMME*1 posait problème également... CEPENDANT (dans mon délire et ma soif de recherche) j'ai essayé SOMME(TEXTE("jj/mm"aaaa") et... cela a l'air de fonctionner... En effet avec une formule de ce genre on a plus besoin de multiplier par 1 pour forcer le format à ce mettre en date et donc plus d'erreur lors d'un *1 sur un texte! Je continue mes test et vous tiens au courant si jamais je tombe sur un nouveau problème.

Si vous avez une idée plus simple je suis tout ouïe mais pour le moment cela reste une solution comme une autre que je me permet de partager pour tout autre personne ayant le même soucie!

EDIT 1: Bon je me but à un problème en faisant comme ça au moment ou la cellule est vide...

Help please je suis en galère, le SOMME, le TEXTE et compagnie ne fonctionnent pas... Je ne sais vraiment plus comment faire à cause de ce mélange de texte et de date...

Une manière de multiplier un texte ou une date au format texte *1 et si erreur alors on passe à la suite de la formule sans buter à cet endroit et renvoyer #VALEUR... Et surtout si possible une explication de la solution.

Amicalement

Bonjour,

peut-être qu'avec un fichier on aura plus de courage.

eric

Rechercher des sujets similaires à "forumule forcer calcule texte"