formule excel avec plusieurs conditions

S

sinama

Guest
bonjour,

N'etant pas trés doué pour crée une macro sous VB, je souhaite créer une formule conditionelle imbriquant plus de 7 fonctions.
exemple avec 7 fonctions imbriquée

=SI(H3="pomme";5;SI(H3="poire";1;SI(H3="peche";10;SI(H3="abricot";0;SI(H3="prune";25;SI(H3="groseille";1;SI(H3="orange";5;SI(H3="mûre";5))))))))

j'ai 27 conditions soit 27 fonctions à imbriquer.

D'avance merci de votre aide.

Fred
 
A

axelle la débutante

Guest
Re le forum,

salut Fred,

Je suis débutante aussi mais je crois avoir trouver les informations que tu recherche assez facilement avec 'L'essentiel de VBA pour EXcel'.

Moi je ferais :

Dim Cellule as string
Dim Résultat as integer
Cellule = Range ("h3")
If cellule : "pomme" Then Resultat: "5"
if cellule : "poire" then résultat : "10"
if cellule : "peche" then résultat : "15"

.......
Range ("b1") = résultat

Que les autres forumeux me hurlent dessus si je me goure!! c'est la premiere fois que j'essaie d'aider qq1.

En esperant que ca fonctionne,
a +++
Axelle
 
A

andré

Guest
Salut,

Il me semble qu'à partir de 7 conditions (et même avant) il est à conseiller d'établir un tableau de correspondance.

En colonne A tu écris les uns sous les autres tes 27 "fruits".
En colonne B, face à chaque "fruit", sa valeur.

Tu remplaces ta formule à 27 conditions par la suivante :
=RECHERCHEV(H3;A$1:B$27);2;0), que tu peux copier vers la bas.

Ândré.
 

Barbuz

XLDnaute Nouveau
Re : formule excel avec plusieurs conditions

Bonjour,
Dans le fichier ci-joint, je souhaite que la feuille 2 reflète tous les choix opérés en feuille 1 mais seulement si la réponse de la colonne B "Faisable" est "Oui".
Faut-il utiliser un INDEX ?
Merci d'avance à toutes et à tous.
 

Pièces jointes

  • Classeur1.xlsx
    10.5 KB · Affichages: 126
  • Classeur1.xlsx
    10.5 KB · Affichages: 153
  • Classeur1.xlsx
    10.5 KB · Affichages: 145

Modeste

XLDnaute Barbatruc
Re : formule excel avec plusieurs conditions

Bonjour Barbuz,

Tu peux effectivement utiliser la fonction INDEX. En pièce jointe, une version pas trop (?) dure à comprendre, qui implique l'utilisation d'une formule "intermédiaire". Tu peux ensuite masquer la colonne, si tu le souhaites.
On peut faire aussi, sans cette dernière, mais alors ce sera sans doute une formule matricielle ... ce qui devient un peu plus ardu :)

Si j'ai bien compris et que la solution te convient, on peut voir ensuite comment ne pas voir les messages d'erreur.
 

Pièces jointes

  • Barbuz.xlsx
    12.2 KB · Affichages: 123
  • Barbuz.xlsx
    12.2 KB · Affichages: 143
  • Barbuz.xlsx
    12.2 KB · Affichages: 140

Barbuz

XLDnaute Nouveau
Re : formule excel avec plusieurs conditions

En pièce jointe, une version pas trop (?) dure à comprendre, qui implique l'utilisation d'une formule "intermédiaire".
Merci Modeste.

Jusqu'à la formule intermédiaire, ça a été.
Quand j'ai appliqué la formule, le "#NOMBRE" est devenu "#REF", ce qui signifie que j'ai foiré quelque chose.
Je me suis dit que c'était au niveau de la ligne, avec LIGNES($1:1), le tableau auquel LIGNES faisait référence n'étant pas situé en ligne 1 mais en lignes 25 à 36.
J'ai bidouillé, mais comme je ne connais pas cette formule, j'ai simplement remonté le tableau en question jusqu'à la ligne 1, supprimé l'entête, et ça a marché.

Merci !
 

Modeste

XLDnaute Barbatruc
Re : formule excel avec plusieurs conditions

Re,

Je ne sais pas trop s'il y a une question muette ;)

LIGNES($1:1) (dans la première formule de la série) permet de préciser le rang de la PETITE.VALEUR qui doit être 1, puis 2, puis 3, etc. C'est ce que fait ce petit bout de formule, quand on recopie vers le bas. Que tu sois en ligne 25, au départ, ne devrait rien changer!?

Je dis ça, parce que "bidouiller", c'est bien! ... Mais comprendre, c'est mieux (quand c'est possible :rolleyes:)
 

Modeste

XLDnaute Barbatruc
Re : formule excel avec plusieurs conditions

Re²,

À vue de nez, je dirais que le souci n'était pas au niveau de LIGNES($1:1) :confused:

Si c'est important pour toi, rien ne t'empêche de mettre un exemplaire allégé et sans données confidentielles de ton fichier ... Il se trouvera bien quelqu'un pour te dire quoi modifier, dans la formule.
 

Barbuz

XLDnaute Nouveau
Re : formule excel avec plusieurs conditions

Je joins le fichier que tu m'as envoyé.
J'ai changé la disposition de "formule intermédiaire" et je ne parviens pas à adapter les formules dans la seconde feuille.
C'est à cause de ce problème que j'ai dû bidouiller ; mais j'imagine que c'est très simple.
 

Pièces jointes

  • Barbuz.xlsx
    12.2 KB · Affichages: 86
  • Barbuz.xlsx
    12.2 KB · Affichages: 88
  • Barbuz.xlsx
    12.2 KB · Affichages: 94

Modeste

XLDnaute Barbatruc
Re : formule excel avec plusieurs conditions

Re³,
Bonsoir djidji59430 (non, on ne peut pas supprimer un message ... pas même un des siens)

@Barbuz: La formule intermédiaire, si elle ne figure pas à hauteur de ton tableau de départ doit être adaptée: elle permet (en principe) d'indiquer les n° des lignes où un "Oui" figure en colonne B. Dans ton dernier exemple, les lignes renseignées deviennent 12 et 14 ... Tu seras d'accord pour dire que ce n'est guère correct!?
Modifie donc la formule en E12 comme suit: =SI(B2="Oui";LIGNE(B2);"") et recopie-la vers le bas. Cette fois, ce sont bien les numéros des lignes 2 et 4 qui apparraissent?

Une fois cette modification réalisée, il faut adapter la formule de l'autre feuille:
PETITE.VALEUR(Feuil1!$E$1:$E$10;LIGNES($1:1)) la plage où cette partie de la formule cherche les n° de lignes est E1:E10 ... c'est-à-dire la plage où figuraient les formules "intermédiaires". Or, tu as modifié l'emplacement de celles-ci. Indique donc la plage où Excel devra aller chercher les infos. Dans ton cas: Feuil1!E12:E20 en n'oubliant pas d'utiliser une référence absolue (les '$') sur cette référence!

C'est plus clair?
 

Discussions similaires

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus