Fonction Si (31 fois ?)

Résolu
Guy72 Messages postés 907 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 26 avril 2024 - 15 sept. 2023 à 20:54
Guy72 Messages postés 907 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 26 avril 2024 - 16 sept. 2023 à 09:04

Bonsoir

Le nombre change tout les jours dans la cellule A2 (de 1 à 31) ce qui permet de changer la valeur de la cellule C12 avec la fonction SI.

=SI($A$2=1;C3;SI($A$2=2;C5;$A$2=3;C7;""))) etc...
Mais la fonction SI est limité à 6 fois (je crois)

Quelle est la solution ?

Merci de votre aide

6 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 079
Modifié le 15 sept. 2023 à 21:34

Bonjour,

je me permet de m'ingérer dans la discussion pour relever le nombre d'imbrication conditionnelle. en 2015 j'ai écrit une astuce pour rendre le nombre pratiquement infini déjà avec la version Excel 2000,

si l'imbrication doit retourner une valeur numérique, il suffit d'imbriquer 7 conditionnelles qui retour zéro si aucune n'est vrai et on relance une formule de 7 conditionnelles avec le signe plus +

=SI(A2="un";1;SI(A2="deux";2;SI(A2="trois";3;SI(A2="quatre";4;SI(A2="cinq";5;SI(A2="six";6;SI(A2="sept";7;0)))))))+SI(A2="huit";....

si l'imbrication doit retourner une valeur au format texte, il suffit de remplacer la condition vrai zéro par rien "" et on relance une nouvelle imbrication en remplaçant le signe +, par &

=SI(A8=1;"un";SI(A8=2;"deux";SI(A8=3;"trois";SI(A8=4;"quatre";SI(A8=5;"cinq";SI(A8=6;"six";SI(A8=7;"sept";"")))))))&SI(A8=8; ...

et pour aller encore plus loin il suffit de créer des champs nommés dans lequel on imbrique les formules conditionnelles et le nombre n'a jamais été un frein dans Excel mais plutôt un case tête pour ne pas perdre le fil.

mon astuce a été retranscrite en 2022 sur ce lien même si le fichier exemple n'est plus disponible.

https://forums.commentcamarche.net/forum/affich-37641581-utiliser-plus-de-7-imbrications-si-dans-une-formule

un exemple vite fait avec 40 imbrications

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

le plus orthodoxe serait de créer une petite base de données et utiliser une simple formule avec une RECHERCHEV ou INDEX et EQUIV

Ou suivant tes explications la proposition de Bigoudiii que je salue


1
bigoudiii Messages postés 226 Date d'inscription lundi 19 décembre 2022 Statut Membre Dernière intervention 15 mai 2024 77
15 sept. 2023 à 21:04

Hello,

Une possibilité :

=INDIRECT("C"&(A2*2+1))
0

Bonjour,

Il aurait fallu que dès le début, tu nous dises quelle version de Office ou Excel tu utilises. A titre personnel j'utilise Office 2010, càd qu'elle n'est pas si récente et, pour autant que je me souvienne, on peut aller jusqu'à 20 ou 22 imbrications. Quoi qu'il en soit, celle que je te propose est du même type que celle proposée par Mike-31, mais peut-être plus complète.

Ainsi en admettant que tu ne puisses pas dépasser 6 imbrications, tu poses: 

si( A2< 7 ; si(A2=1; "un"; si(A2 =2; "deux";si(A2=3; "trois"; etc))) ; si(A2<14; si(A2 =7; "sept";si(A2=8; "huit"; etc))) )

autrement dit, tu fais 5 groupes de 6 , si tu peux aller  jusqu'à 20 imbrications, le principe est le même mais en plus facile: donc tu écrirais:

Si (A2 < 16 ; 1er groupe d'imbrications ; 2ème groupe d'imbrications )

et pour chaque groupe d'imbrications, créer autant de sous-groupes que nécessaire, jusqu'au dernier sous-groupe du 1er groupe, et ensuite la même division en autant de sous-groupes pour le 2éme groupe.

A noter que tu n'as pas du  tout besoin de faire des "entre valeur1 et valeur2" parce que par définition, s'il est égal à 13, par exemple , il aura été rejeté par la condition <10, et accepté par la condition suivante < 18, jusqu'à être coincé entre les conditions <13 et <14

En espérant t'avoir aidé, bon courage.

0
brucine Messages postés 14725 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 21 mai 2024 1 907
16 sept. 2023 à 07:43

Bonjour,

A partir de Excel 2007 la limite d'imbrication est 64 contre 7 précédemment, mais ce qui ne veut pas dire comme remarqué précédemment qu'il ne vaut pas mieux utiliser une autre syntaxe.

Remarquer aussi que, selon la version, SI.CONDITIONS est beaucoup plus facile à écrire sans se mélanger les pinceaux dans les parenthèses et supporte lui jusqu'à 127 conditions.

0
Guy72 Messages postés 907 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 26 avril 2024 21
16 sept. 2023 à 07:59

Bonjour,

Oupppsss !!! ,c'est vrais je ne n'ai pas pensé à donner la mienne, j'ai 2010.

Je vais essayer tout ça.
En tout cas merci de votre aide.

PS
J'ai une autre question :

Est-il possible de changer automatiquement le nombre qui se trouve dans cellule A2 à chaque jour ?

Exemple:
Le 1 pour le 1er du mois.
Le 2....
Le 3.....
Le 31
Mais peut être faut-il que j'ouvre un autre sujet ?

0
brucine Messages postés 14725 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 21 mai 2024 1 907
16 sept. 2023 à 08:30

Avec =AUJOURDHUI()?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guy72 Messages postés 907 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 26 avril 2024 21
16 sept. 2023 à 08:41

J'y est bien pensé, mais il ne faut pas mettre ça dans la cellule A2, ça ne fonctionne pas pour la formule.

J'ai mis ça dans la cellule A3, mais il faudrait que cela me donne le N° du jour en A2

0
brucine Messages postés 14725 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 21 mai 2024 1 907
16 sept. 2023 à 08:46

Alors si j'ai bien compris et que tu ne veux pas la date mais seulement le numéro du jour =JOUR(AUJOURDHUI())

0
Guy72 Messages postés 907 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 26 avril 2024 21
16 sept. 2023 à 09:04

Impeccable !!!

C'est tout à fait ça.

Comme ça avec mon tableau, dans mon site, les heures de marrés vont se mettre à jour automatiquement dans mes zones de texte

0