Microsoft 365 Alléger une formule

richard31

XLDnaute Occasionnel
J'ai u n gros fichier de gestion de demandes de MEP que j'ai mis en route depuis longtemps. Il fonctionne. Mais comme je ne suis très fort en Excel je suis sur que l'on peut alléger certaines formules très longues.
par ex :

J'ai écrit plusieurs conditions qui permet de prendre en compte les différentes possibilités d'écrire OK
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="ok");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)=" ok");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)=" OK");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="OK");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="ok");"Action réalisée";

Car je n'arrive pas l'intégrer à une seule ligne de formule; C'est possible ?
 

Phil69970

XLDnaute Barbatruc
Bonjour @richard31

1701786349323.png


Voir la charte §1.3
 

Jacky67

XLDnaute Barbatruc
J'ai u n gros fichier de gestion de demandes de MEP que j'ai mis en route depuis longtemps. Il fonctionne. Mais comme je ne suis très fort en Excel je suis sur que l'on peut alléger certaines formules très longues.
par ex :

J'ai écrit plusieurs conditions qui permet de prendre en compte les différentes possibilités d'écrire OK
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="ok");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)=" ok");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)=" OK");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="OK");"Action réalisée";
SI(ET($AD16<>"";STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2)="ok");"Action réalisée";

Car je n'arrive pas l'intégrer à une seule ligne de formule; C'est possible ?
Bonjour à tous
Essaye avec SUPPRESPACE
VB:
=SI(ET($AD16<>"";SUPPRESPACE(STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2))="ok");"Action réalisée")
Il serait sage de contrôler la saisie plutôt que de vouloir rectifier les erreurs dans les formules
 

richard31

XLDnaute Occasionnel
Bonjour à tous
Essaye avec SUPPRESPACE
VB:
=SI(ET($AD16<>"";SUPPRESPACE(STXT($R16;CHERCHE(U$15;$R16)+NBCAR(U$15)+3;2))="ok");"Action réalisée")
Il serait sage de contrôler la saisie plutôt que de vouloir rectifier les erreurs dans les formules
Merci ! je sais mais je vais rechercher l'information dans une cellule où il à un texte saisit de ce type :
INFRA : ok
MDW : ok 05/08/2021
BDD :
JE :
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
NFRA : ok
MDW : ok 05/08/2021
BDD :
Alors pour quoi ne pas utiliser :
VB:
=SI(ET($AD16<>"";NB.SI($R16;"INFRA*ok*")>0);"Action réalisée";"")
Pour détecter ok sur INFRA, ou encore :
Code:
=SI(ET($AD16<>"";NB.SI($R16;"*MDW*ok*")>0);"Action réalisée";"")
ou simplement un ok quelconque :
Code:
=SI(ET($AD16<>"";NB.SI($R16;"*ok*")>0);"Action réalisée";"")
 

richard31

XLDnaute Occasionnel
Alors pour quoi ne pas utiliser :
VB:
=SI(ET($AD16<>"";NB.SI($R16;"INFRA*ok*")>0);"Action réalisée";"")
Pour détecter ok sur INFRA, ou encore :
Code:
=SI(ET($AD16<>"";NB.SI($R16;"*MDW*ok*")>0);"Action réalisée";"")
ou simplement un ok quelconque :
Code:
=SI(ET($AD16<>"";NB.SI($R16;"*ok*")>0);"Action réalisée";"")
Rhooo merci encore je vais tester et essayer de comprendre tout ça ! ça va beaucoup m'aider ! tu es trop fort ^^
 

Statistiques des forums

Discussions
315 088
Messages
2 116 089
Membres
112 658
dernier inscrit
doro 76