Raccourcir une formule

Bonjour,

J'ai fait cette formule:

(=SI(H18="1";A!F1:F6;SI(H18="2";A!F2:F6;SI(H19="1";A!C1:C11;SI(OU(H19="2";H19="3");A!D1:D8;SI(H19="4";A!F1:F6;SI(H20="1";A!F1:F6;SI(H21="1";A!G1:G7;SI(OU(H21="2";H21="3");A!H1:H6;SI(H22="1";A!G2:G7;SI(OU(H22="2";H22="3");A!H2:H6;SI(H23="1";A!G3:G7;SI(H24="1";A!H3:H6)))))))))))))

Elle ne rentre pas dans "validations des données".

Je souhaiterai savoir si il y a une solution a mon problème ?

Salutations.

Jb.

-- 11 Mai 2011, 14:56 --

Je sent qu'il va falloir que je trouve tout seul...

Bonjour jbhx,

Pour que ça marche tu dois donner un nom à ta liste. Va dans le menu 'Formules' puis va dans 'Définir un nom'.

Dans le champ 'Nom' donne le nom que tu veux (ex : NomDeLaListe) puis dans le champ 'Fait référence à' mets ta formule :

=SI(H18="1";A!F1:F6;SI(H18="2";A!F2:F6;SI(H19="1";A!C1:C11;SI(OU(H19="2";H19="3");A!D1:D8;SI(H19="4";A!F1:F6;SI(H20="1";A!F1:F6;SI(H21="1";A!G1:G7;SI(OU(H21="2";H21="3");A!H1:H6;SI(H22="1";A!G2:G7;SI(OU(H22="2";H22="3");A!H2:H6;SI(H23="1";A!G3:G7;SI(H24="1";A!H3:H6))))))))))))

Ensuite, dans la cellule qui contiendra la validation de données, choisis le type 'Liste' puis dans 'Source' mets

=NomDeLaListe

pour notre exemple.

Bonjour

Sauf erreur, une validation de donnée ne peut faire référence qu'à une seule ligne ou colonne, non?

or ici, nous avons 4 colonnes!

A mon avis, ça ne marchera pas.

Cordialement

Salut amadéus,

En fait ça dépend des conditions de sa formule. Ici, il semblerait que chaque condition vérifiée renvoie une plage de cellules de une seule colonne (A!F1:F6, A!F2:F6; A!C1:C11, A!D1:D8, etc.), ce qui marcherait. Pour s'en convaincre, un exemple :

Salut,

Merci d'avoir répondu a mon message,

Le problème c'est que ta solution ne fonctionne pas, enfaite elle ne fait pas fonctionner la formule.

Dans la cellule ou ma formule est écrite il y a écris #valeur, et quand je met en pratique ta solution, dans la case que je veux, ça me marque #valeur et non la liste que la formule demande d'afficher.

J'espère avoir été clair dans mes explications.

Salutations.

Jb.

Bonjour

Peux-tu indiquer dans quelle cellule est la validation de données (Liste déroulante)

Cordialement

Oui, bien sur, elle est dans la cellule B25.

Bonjour

J'ai planché un certain temps mais j'ai encore trop d'inconnues.

Peux-tu envoter ton fichier en XLS s'il te plait

Cordialement

Bonjour

vba-new, tu as parfaitement raison. Cependant, dans le cas présent, je n'ai pas réussi à cause de la complexité.

merci de ta remarque.

J'ai adopté une autre solution

Cordialement

20classeur1-v2.zip (39.42 Ko)

Bonjour à tous,

Je viens d'avoir le même problème au boulot ! Je voulais créer une liste de validation de données mais ça ne prenait pas en compte ma formule. Après quelques tests, il semblerait que l'on ne puisse pas mettre de formule contenant plus de 255 caractères. Idem pour définir un nom.

J'ai donc trouvé une solution en décomposant ma formule puis en créant des plages nommées comme tu l'as fait et ça marche.

Je pense donc également qu'une solution est de passer par des plages nommées afin que la formule ne dépasse pas cette limite de 255 caractères. La formule de jbhx faisant près de 280 caractères.

Bonjour a toi.

Oui, c'est une bonne solution, le probleme c'est que cette formule est déja décomposé en plusieurs autres formules, 6 ou 7. Je crois que malheureusement ça va etre la seul solution.

Heureux de voir qu'il y a des personnes qui ce casse la tete comme moi sur des formules aussi longue ^^

Salutations.

Jb.

Bonjour,

J'ai trouvé la solution a mon probleme, Voici ma premiere formule:

(=SI(H18="1";A!F1:F6;SI(H18="2";A!F2:F6;SI(H19="1";A!C1:C11;SI(OU(H19="2";H19="3");A!D1:D8;SI(H19="4";A!F1:F6;SI(H20="1";A!F1:F6;SI(H21="1";A!G1:G7;SI(OU(H21="2";H21="3");A!H1:H6;SI(H22="1";A!G2:G7;SI(OU(H22="2";H22="3");A!H2:H6;SI(H23="1";A!G3:G7;SI(H24="1";A!H3:H6)))))))))))))

et voici ma deuxieme:

=SI(I1="1";A!F3:F6;SI(I2="1";A!C1:C11;SI(OU(I2="2";I2="3");A!D1:D8;SI(I2="4";A!F1:F6;SI(I3="1";A!F1:F6;SI(I4="1";A!G1:G7;SI(OU(I4="2";I4="3");A!H1:H6;SI(I5="1";A!G2:G7;SI(OU(I5="2";I5="3");A!H2:H6;SI(I6="1";A!G3:G7;SI(I7="1";A!H3:H6)))))))))))

Une chose toute bete, j'ai changé de cellule, au lieu de H18, j'ai I1, je gagne un caractere, et au final, c'est suffisant pour mon cas.

Voila.

Jb.

Rechercher des sujets similaires à "raccourcir formule"