XL 2010 Liste conditionnelle avec appartenance à un ensemble

jpr

XLDnaute Nouveau
Bonjour,

J'essaie d'adapter l'exemple "Liste conditionnelle avec appartenance à un ensemble" trouvé sur le site Formation Excel VBA JB (Merci à lui!!) sans succès sous Excel 2010.

Cf. Fichier joint :
Colonne E : Résultat correct
Colonne K: Impossible d'avoir un résultat correct sur la condition d'appartenance des cellules de la matrice à la matrice de condition.

Quelqu'un saurait-il m'aider ?
Merci!

Cordialement
 

Pièces jointes

  • ListeCond2 - TEST 2010.xlsx
    11.8 KB · Affichages: 38

DoubleZero

XLDnaute Barbatruc
Re : Liste conditionnelle avec appartenance à un ensemble

Bonjour à toutes et à tous,

Bienvenue sur XLD, jpr.

Dans le fichier joint, un essai par macro.

A bientôt :)
 

Pièces jointes

  • 00 - jpr - Condition repérer.xlsm
    22.5 KB · Affichages: 35

jpr

XLDnaute Nouveau
Re : Liste conditionnelle avec appartenance à un ensemble

Bonjour,

Ce que je veux faire est exactement ce qui est fait dans la colonne E du fichier Liste Cond - Version 2003.xlsx.

Malheureusement, quand je crée un fichier vide Excel 2010 avec exactement les mêmes données/formules, le résultat n'est pas le même. Cf. Liste Cond - Version 2010.xlsx.

Le problème est semble-t-il que
1) {=LIGNES($1:1)} n'est pas interprété de la même façon
2) {Cond=TRANSPOSE(ListeCond)} ne fonctionne pas en Excel 2010

J'espère que c'est plus clair. Une idée ?

Merci!
 

Pièces jointes

  • Liste Cond - Version 2003.xlsx
    11.5 KB · Affichages: 43
  • Liste Cond - Version 2010.xlsx
    10.5 KB · Affichages: 41

CISCO

XLDnaute Barbatruc
Re : Liste conditionnelle avec appartenance à un ensemble

Bonjour

Si tu regardes la formule dans le fichier 2010, dans E3, elle n'est pas identique à celle dans le fichier 2003, dans la même cellule. La première finie par un LIGNES($1:1), donc te renvoie la première plus petite valeur, la seconde finie en LIGNES($1:2), donc te renvoie la seconde plus petite valeur.
Dans E4, tu as dans un cas LIGNES($1:1), et dans l'autre LIGNES($1:3), et ainsi de suite en dessous.

En fait, il y a deux manières de valider une formule matricielle :
* Une, en ne sélectionnant qu'une cellule, et avec Ctrl+maj+entrer, puis en tirant vers le bas et/ou vers la droite cette formule si besoin est,
* et l'autre, en sélectionnant toute la plage désirée, et en validant avec Ctrl+maj+entrer.

Dans ton cas, c'est la première manière de faire qu'il faut utiliser. Tu sélectionnes la plage E2:E11 et tu effaces. Tu écris (ou tu colles) ta formule dans E2 et tu valides en matriciel, puis tu tires cette formule vers le bas. Ces deux manières de faire ne donnent pas le même résultat. La seconde est souvent plus efficace, nécessite moins de temps de calcul. Mais on n'utilise pas les mêmes formules dans les deux cas.

Au passage, si tu veux voir tous les calculs intermédiaires, ce qui t'aidera à comprendre comment fonctionne la formule : --> Formules --> Evaluation de formule.

@ plus
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 427
Messages
2 088 307
Membres
103 813
dernier inscrit
mehdifr