[Résolu] Conditions SI(ET( multiples

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

[Résolu] Conditions SI(ET( multiples

Message par Roleb976 »

Bonjour à tous et merci d’avance pour toute suggestion qui pourrait m’aider à solutionner mon problème !

J’ai un 1er tableau dans lequel une cote est attribuée en fonction des villes et des couleurs.
Mais, il y a une difficulté, c’est que la cote change toutes les semaines.
Dans mon second tableau, je dois pouvoir indiquer la cote actualisée, mais les villes et les couleurs changent d’ordre chaque jour.

Je voudrais donc créer une formule dans la colonne « cote » qui reporterait la cote indiquée dans le premier tableau !

J’ai essayé avec des SI imbriqués,
=SI(ET(A10="PARIS";B10="BLEU");$B$2;SI(ET(A10="PARIS";B10="ROUGE");$B$3;SI(ET(A10="PARIS";B10="VERT");$B$4;SI(ET(A10="PARIS";B10="ORANGE");$B$5;SI(ET(A10="PARIS";B10="JAUNE");$B$6;SI(ET(A10="BERLIN";B10="BLEU");$C$2;SI(ET(A10="BERLIN";B10="ROUGE");$C$3;SI(ET(A10="BERLIN";B10="VERT");$C$4;SI(ET(A10="BERLIN";B10="ORANGE");$C$5;SI(ET(A10="BERLIN";B10="JAUNE");$C$6;SI(ET(A10="MADRID";B10="BLEU");$D$2;SI(ET(A10="MADRID";B10="ROUGE");$D$3;SI(ET(A10="MADRID";B10="VERT");$D$4;SI(ET(A10="MADRID";B10="ORANGE");$D$5;SI(ET(A10="MADRID";B10="JAUNE");$D$6;SI(ET(A10="LISBONNE";B10="BLEU");$E$2;SI(ET(A10="LISBONNE";B10="ROUGE");$E$3;SI(ET(A10="LISBONNE";B10="VERT");$E$4;SI(ET(A10="LISBONNE";B10="ORANGE");$E$5;SI(ET(A10="LISBONNE";B10="JAUNE");$E$6;SI(ET(A10="ATHENES";B10="BLEU");$F$2;SI(ET(A10="ATHENES";B10="ROUGE");$F$3;SI(ET(A10="ATHENES";B10="VERT");$F$4;SI(ET(A10="ATHENES";B10="ORANGE");$F$5;SI(ET(A10="ATHENES";B10="JAUNE");$F$6;"")))))))))))))))))))))))))
Cela fonctionne dans cet exemple, mais dans mon vrai tableau, j’en ai 132 et pas 25 comme ici et cela me retourne donc une erreur 514 !!

J’ai aussi essayé avec SI.CONDITIONS, mais là, ça me fait une erreur 508.

Quelqu’un aurait-il une solution pour supprimer tous ces SI(ET… ?

Merci beaucoup de votre aide
Pièces jointes
Essai tableau SI ET.ods
Mon exemple de tableur dans lequel se trouvent les deux tableaux sur la même feuille
(15.1 Kio) Téléchargé 55 fois
Dernière modification par Roleb976 le 14 juin 2021 08:02, modifié 2 fois.
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 07:43
Localisation : 976

Re: CONDITIONS SI(ET( MULTIPLES

Message par njhub »

Bonjour Roleb976,

Testez cette formule, à étendre vers le bas, en C10

Code : Tout sélectionner

=INDIRECT(ADRESSE(EQUIV(B10;A$1:A$6;0);EQUIV(A10;A$1:F$1;0));1)
:wink:
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

Re: CONDITIONS SI(ET( MULTIPLES

Message par Roleb976 »

Bonjour njhub

Merci pour cette réponse que je ne comprends pas encore mais qui fonctionne avec le tableau en exemple !
Je vais l'étudier et l'adapter pour mon vrai tableau, mais ça a l'air exactement ce qu'il me fallait !
Merci beaucoup !!
Je vous tiens au courant de la suite et je mettrai les bonnes bornes dans le titre !
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 07:43
Localisation : 976

Re: CONDITIONS SI(ET( MULTIPLES

Message par njhub »

Bonjour Roleb976,

Je vous propose une autre formule dans le fichier joint, en fait c'est la même mais plus lisible, grâce à l'utilisation de zones nommées:
1) couleurs, qui se réfère à la zone A1 à A6 de votre fichier exemple
2) villes, qui se réfère à la ligne 1 de ce même fichier
en sachant que le premier paramètre de la fonction adresse est la ligne et le second la colonne,
la fonction INDIRECT() renvoie le contenu de la cellule visée par l'adresse générée

Code : Tout sélectionner

=INDIRECT(ADRESSE(EQUIV(B10;couleurs;0);EQUIV(A10;villes;0));1)
Roleb976_Essai tableau SI ET.ods
(18.33 Kio) Téléchargé 66 fois
:wink:
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1271
Inscription : 10 nov. 2006 16:04
Localisation : F-Oise

Re: Conditions SI(ET( multiples

Message par OOo - Ekel »

Bonjour,

Le titre de la question ne doit pas être écrit en lettres capitales.

L'emploi de ces caractères est assimilable sur internet à des hurlements.

Il serait bien qu'une correction y soit apportée.

Cordialement.
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

Re: Conditions SI(ET( multiples

Message par Roleb976 »

Bonjour à tous,
Un très grand merci à njhub pour sa formule qui fonctionne à merveille !
Il y a quand même un truc que je ne comprends pas ! Tu mets :
...en sachant que le premier paramètre de la fonction adresse est la ligne et le second la colonne ...
mais dans la formule, c'est la colonne qui apparait en premier ! Est-ce que tu t'es trompé ou il y a quelque chose que je n'ai pas compris ?
En tout cas, je mets le sujet comme résolu !
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 07:43
Localisation : 976

Re: [Résolu] Conditions SI(ET( multiples

Message par njhub »

Bonjour Roleb976,

L'aide de la fonction ADRESSE :

ADRESSE(ligne;colonne,ABS;A1;"Feuille")
ligne représente le numéro de ligne de la référence de la cellule
colonne représente le numéro de colonne de la référence de la cellule (le numéro, pas la lettre)
ABS détermine le type de référence :
1 : absolue ($A$1)
2 : le type de référence de ligne est absolue ; la référence de colonne relative (A$1)
3 : ligne (relative), colonne (absolue) ($A1)
4 : relative (A1)
A1 (facultatif) - si paramétré sur 0, la notation L1C1 est utilisée. Si ce paramètre est absent ou paramétré sur une autre valeur que 0, la notation A1 est utilisée.

Feuille représente le nom de la feuille. Il doit être placé entre des guillemets doubles.

:wink:
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

Re: [Résolu] Conditions SI(ET( multiples

Message par Roleb976 »

Ah oui, là, je comprends tout !
Merci beaucoup
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

Re: [Résolu] Conditions SI(ET( multiples

Message par Roleb976 »

Alors, j'ai encore une question !
Je voudrais mettre mon tableau 1 (la liste des couleurs et des villes) sur une feuille différente nommée "Table_EC"
J'ai donc essayé la formule :
=INDIRECT(ADRESSE(EQUIV(E15;A$1:A$10;0;"Table_EC");EQUIV(H15;A$1:AX$1;0;"Table_EC"));1)
Mais ça me met une err: 504 (erreur dans la liste des paramètres), ce qui voudrait dire que je ne peux pas ajouter ce 4ème paramètre !
Pourtant, ça doit bien être possible ! N'est-ce pas ?
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Re: [Résolu] Conditions SI(ET( multiples

Message par Jeff »

Bonjour,

Sers toi de l'assistant de fonction pour corriger ta formule, le nom de la feuille est dans la fonction EQUIV au lieu de la fonction ADRESSE.

A +
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 495
Inscription : 18 juin 2017 07:43
Localisation : 976

Re: [Résolu] Conditions SI(ET( multiples

Message par njhub »

Bonjour Roleb976,

Comme le dit Jeff
... le nom de la feuille est dans la fonction EQUIV au lieu de la fonction ADRESSE.
Votre formule est inexacte,
=INDIRECT(ADRESSE(EQUIV(E15;A$1:A$10;0;"Table_EC");EQUIV(H15;A$1:AX$1;0;"Table_EC"));1)
Essayez avec:

Code : Tout sélectionner

=INDIRECT(ADRESSE(EQUIV(E15;Table_EC.A$1:A$10;0);EQUIV(H15;Table_EC.A$1:AX$1;0);4;1;"Table_EC");1)
:wink:
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
Roleb976
NOOuvel adepte
NOOuvel adepte
Messages : 18
Inscription : 29 avr. 2019 10:48

Re: [Résolu] Conditions SI(ET( multiples

Message par Roleb976 »

Yes !!
En même temps que je lis ta réponse, j'ai enfin trouvé l'erreur ! J'en suis donc arrivé moi aussi à cette formule :

Code : Tout sélectionner

=INDIRECT(ADRESSE(EQUIV(E15;$Table_EC.A$1:A$10;0);EQUIV(H15;$Table_EC.A$1:AX$1;0); ; ;"Table_EC");1)
sauf que j'ai laissé vide ABS et A1
Merci à tous les deux pour votre aide très précieuse :bravo:
Romain
Linux Mint 20 Ulyana
LibreOffice 6.4.6.2
Windows 10
LibreOffice 5.4.7.2 (en entreprise) LibreOffice 7.1.1 (à la maison)
Verrouillé