Conditions multiples

Résolu
CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024 - 9 juil. 2024 à 20:11
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 - 22 juil. 2024 à 17:50

Bonjour,

J'ai déjà reçu beaucoup d'aide aujourd'hui et qui m'ont été fort utiles.

C’est presque parfait maintenant mais il subsiste malheureusement encore quelques petites erreurs.

Dans la formule, il faudrait une condition supplémentaire car je récupère des données sur base du nombre de caractères mais il arrive que la récupération indique des données inutiles car ces noms ont un nombre identique de caractères.

Il faudrait donc ainsi aussi ajouter une condition basée sur le nom …

Cela me cause un petit problème car lorsque je fais la formule dans ce sens, je reçois des données dans 2 colonnes au lieu d’une.

Cela vient du fait que la recherche se fait sur le nom « WORLDLINE » et sur un nom quasi similaire « ATOS WORLDLINE » et donc Excel reconnait Worldline dans les 2 colonnes…

Lorsque j’essaie de faire la formule avec plusieurs conditions (Nombre de caractères + Nom) avec Si(Et) la cellule m’indique « FAUX » …

Les données incorrectes sont surlignées en rose avec une note insérée.

Merci de bien vouloir regarder

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


Windows / Chrome 126.0.0.0


3 réponses

DjiDji59430 Messages postés 4105 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 6 septembre 2024 667
9 juil. 2024 à 23:25

Bonjour à tous,

Une solution ;

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

1
CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024 4
10 juil. 2024 à 07:06

Un grand merci ... C'était en plus si simple ... C'est d'autant mieux ... La réponse de Via55 est quasiment la même.

0
via55 Messages postés 14471 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 29 août 2024 2 727
9 juil. 2024 à 23:31

Re

Ton fichier avec formules correctes

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

Cdlmnt

Via


1
CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024 4
10 juil. 2024 à 07:05

Un grand merci ... C'était en plus si simple ... C'est d'autant mieux ... La réponse de DjiDji59430 ést quasiment la même.

0
CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024 4
10 juil. 2024 à 08:58

Bonjour,

J’ai utilisé vos formules car avec DjiDji59430, j’avais des vides (je ne sais pour quelle raison) pour les colonnes Atos Worldline et Axepta alors que dans le fichier reçu, c’était pourtant OK.

En insérant les formules dans le fichier complet, je remarque qu’il subsiste un cas de figure où la formule devrait être adaptée pour Axepta.

En-effet, les frais payés par domiciliation à Axepta donne un message d’erreur.

Comme ces colonnes ne sont présentes que pour consulter le paiement de la clientèle et pas les dépenses, ne pourrait-on pas ajouter à la formule qu’il y ait un vide également dans le cas où les montants de la colonne "K" sont négatifs ou que les 3 premières lettres de la colonne "O"  ne soient pas ALL ?

Je vous en remercie d’avance et vous réitère  mes remerciements.

Ci-dessous, le fichier avec ce cas de figure.

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

0
via55 Messages postés 14471 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 29 août 2024 2 727
10 juil. 2024 à 09:14

Bonjour

Formule modifiée pour colonne AJ :

=SI(OU(K2<0;GAUCHE(O2;3)<>"ALL");"";SI(GAUCHE(F2;4)="Axep";SUBSTITUE(STXT(O2;50;5);".";"/");""))

Cdlmnt

Via


1
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 2 316 > CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024
11 juil. 2024 à 11:26

Dans le cas de figure oui, on a ajouté les séparateurs / entre guillemets pour qu'ils soient reconnus comme du texte, séparé les morceaux jour, mois, an qu'on a recollés de part et d'autres des séparateurs par &.

On va tomber sur un bec si les jours inférieurs à 10 dans la base de données sont sous la forme par exemple 80724 au lieu de 080724.

Il faut alors une conditionnelle sur NBCAR(DROITE(O3;6)), formule précédente si 6, le premier STXT devient sinon STXT(DROITE(O3;6);1;1) ou, si on veut le zéro en plus, "0"&STXT(DROITE(O3;6);1;2) et les deux STXT suivants 2;2 et 4;2

1
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 2 316 > CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024
22 juil. 2024 à 10:22

Bonjour,

Je n'ai moyen de repérer la date 13/07 qui est en fait un texte que si au plus simple le début de la chaîne commençant par R a toujours le même nombre de caractères et ce qui est entre cette chaîne et la date aussi.

Selon le cas, je peux alors rendre la date par =STXT(O6;29;5) en admettant que les zéros des jours soient significatifs.

Si la chaîne R est variable ou si l'espace avant ou après DU peut être variable, la situation va être plus complexe, on ne peut pas localiser le deuxième slash qui existe toujours, il faudrait tester l'existence d'une chaîne entre DU et AU puis la triturer puisqu'il y a (toujours?) 3 caractères après DU mais seulement 2 après AU.

1
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 2 316 > CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024
22 juil. 2024 à 12:00

Pour appliquer SUBSTITUE si à gauche j'ai R:1, il faut que je localise le deuxième et le troisième slash, que je sélectionne pour chacun les 2 caractères avant et après et que je recolle les morceaux, ou bien que je localise ce qui se trouve entre DU et AU et que je supprime les 3 espaces superflus avant et 2 après, ça dépasse mes compétences.

Pour la formule, si la plage de dates est forcément liée à l'existence de 1 dans R:1 (ou dans R:1 en entier, il suffit de changer les index STXT), il suffit d'écrire:

=SI(OU(K6<0;GAUCHE(O6;1)<>"R");"";SI(GAUCHE(F6;4)="WORL";SI(STXT(O6;3;1)="1";STXT(O6;29;5);DROITE(O6;5));""))

1
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 2 316 > CarineVL Messages postés 201 Date d'inscription samedi 7 novembre 2015 Statut Membre Dernière intervention 21 août 2024
22 juil. 2024 à 17:03

Tu n'adresses pas la question à la bonne personne, il y a sur ce forum une poignée de vrais spécialistes Excel dont je ne fais pas partie.

Pour le peu que j'en pratique, je suis seulement autodidacte de choses que j'ai apprises en testant et en corrigeant mes propres erreurs.

Pour plusieurs de tes questions concernant STXT, tu fais sans doute un blocage parce qu'il s'agit d'Excel, une fois la chose appropriée, il suffit d'appliquer la recette de cuisine en changeant les index.

Le plus pénible, c'est sans doute les conditions SI à tiroirs, on oublie toujours une parenthèse; dans les cas vraiment compliqués, quand je ne peux pas tricher avec une syntaxe plus simple style SI.CONDITIONS, j'écris une condition SI avec 3 "x" ou n'importe quoi pour respecter la syntaxe de 3 membres, j'élabore séparément les conditions internes que je teste puis qui viennent remplacer les "x".

1
brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024 2 316 > brucine Messages postés 16521 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 7 septembre 2024
22 juil. 2024 à 17:50

Cela dit et si tant est qu'il existe, un cours magistral recensant toutes les possibilités serait indigeste.

Quand on veut des précisions sur telle formule, l'aide interne à Excel et celle de Microsoft sont plutôt arides, mais si on fait une recherche sur la fonction en question, de nombreux sites la documentent avec souvent plusieurs exemples clairs et expliqués permettant de commencer à se l'approprier.

1