[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.

[Résolu] Conditions SI(ET( multiples

Messagepar Roleb976 » 11 Juin 2021 15:19

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é 18 fois
Dernière édition par Roleb976 le 14 Juin 2021 07:02, édité 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)
Roleb976
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48

Re: CONDITIONS SI(ET( MULTIPLES

Messagepar njhub » 11 Juin 2021 16:02

Bonjour Roleb976,

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

Code : Tout sélectionner   AgrandirRéduire
=INDIRECT(ADRESSE(EQUIV(B10;A$1:A$6;0);EQUIV(A10;A$1:F$1;0));1)


:wink:
LibreOffice 7.1.3.2/ (x64) FR-YT 10/05/21
OS : Windows 10.0
njhub
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 334
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

Re: CONDITIONS SI(ET( MULTIPLES

Messagepar Roleb976 » 11 Juin 2021 16:27

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)
Roleb976
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48

Re: CONDITIONS SI(ET( MULTIPLES

Messagepar njhub » 12 Juin 2021 12:05

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   AgrandirRéduire
=INDIRECT(ADRESSE(EQUIV(B10;couleurs;0);EQUIV(A10;villes;0));1)


Roleb976_Essai tableau SI ET.ods
(18.33 Kio) Téléchargé 22 fois


:wink:
LibreOffice 7.1.3.2/ (x64) FR-YT 10/05/21
OS : Windows 10.0
njhub
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 334
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

Re: Conditions SI(ET( multiples

Messagepar OOo - Ekel » 12 Juin 2021 20:12

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 Focal Fossa (20.04) : LibreOffice 7.1.2 Officielle
AMD Phenom(tm) II X4 955 3200 GHz
AMD Radeon HD 5770 Series
22" + 22"
12 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
 
Message(s) : 1211
Inscrit le : 10 Nov 2006 16:04
Localisation : F-Oise

Re: Conditions SI(ET( multiples

Messagepar Roleb976 » 14 Juin 2021 07:01

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)
Roleb976
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48

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

Messagepar njhub » 14 Juin 2021 10:24

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.1.3.2/ (x64) FR-YT 10/05/21
OS : Windows 10.0
njhub
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 334
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

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

Messagepar Roleb976 » 14 Juin 2021 11:23

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
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48

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

Messagepar Roleb976 » 14 Juin 2021 13:43

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)
Roleb976
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48

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

Messagepar Jeff » 14 Juin 2021 14:13

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 +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.10 sur Ubuntu 20.04.02 x64 (Focal Fossa), et sur Win 10 pro x64
Jeff
GourOOu
GourOOu
 
Message(s) : 8527
Inscrit le : 18 Sep 2006 10:40
Localisation : France

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

Messagepar njhub » 14 Juin 2021 15:27

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   AgrandirRéduire
=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.1.3.2/ (x64) FR-YT 10/05/21
OS : Windows 10.0
njhub
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 334
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

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

Messagepar Roleb976 » 14 Juin 2021 15:36

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   AgrandirRéduire
=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)
Roleb976
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 29 Avr 2019 09:48


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 8 invité(s)