Choisir des valeurs dans un tableau selon certains critères, pour les copier ailleur

Yakamoneye

XLDnaute Nouveau
Bonjour à tous !

Je suis actuellement en stage, et je fais entre autres des études environnementales statistiques relatives à la physique des emballages alimentaires. Pour ce faire, je fais entre autre une simulation Monte Carlo. J'ai déjà réussi à faire pas mal de choses, comme par exemple sélectionner des valeurs parmi 5000 résultats selon un critère min/max pour les afficher dans un tableau de résultats, et ceux avec la formule suivante:
=SI(M20="";"";INDEX(F39:F5039;EQUIV(M20;M39:M5039;0)))
Je ne comprend pas bien cette formule (je l'ai trouvé sur un forum) et l'aide d'excel (mac 2008) ne la connait pas...

C'est pratique pour moi, mais avec cela je ne peux sélectionner qu'une valeur...

Mais mon problème n'est pas là: je voudrais maintenant sélectionner par exemple 15 valeurs dans mon tableau de 5000, selon le critère suivant :
une des grandeurs, que l'on appelera A (calculée à partir des valeurs qui varient aléatoirement) doit être comprise dans un intervalle donné [A1;A2]. Si elles sont comprises dans cet intervalle, je voudrais pouvoir les avoir dans un autre tableau pour les étudier. Il faut à la fois que A soit compris entre deux valeurs, et aussi qu'une autre grandeure, B (également déterminée à partir des variables) soit la plus petite possible.
Ainsi les 15 résultats affichés sont les variables et les différents résultats de calcul dans le cas ou A1<A<A2 ET les 15 plus petites valeures de B.

Je suis un peu perdu, tout cela c'est de la prog pour moi, et j'avoue être un peu largué (j'y connais rien en VBA, mais si ce n'est pas trop complexe je peux apprendre)

Merci pour vos conseils éclairés !
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour Yakamoneye et Bienvenue sur le forum,

Déjà, et au peu que j'ai pu lire, si tu as Excel 2008 sous Mac, pas la peine de penser aux macros...

Ensuite, un petit fichier joint avec ta problématique et les résultats que tu souhaites obtenir pourrait permettre une solution par formules.

Sans garantie pour moi et pour l'instant, mais...

A te lire donc et bon après-midi.

Jean-Pierre
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Voici en pièce jointe une version simplifiée de mon problème.

J'y ai mis des petits commentaires.

Je reste à disposition si ce n'est pas clair !

Merci
 

Pièces jointes

  • montecarlosimplifie.xls
    42 KB · Affichages: 212

Tibo

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour,

Pas vraiment évident de comprendre ce que tu souhaites faire exactement.

J'ai branché ma boule de cristal (la dernière qui me reste...) et je te propose de regarder le fichier joint.

Solutions proposées sur base de formules matricielles.

Dis nous si ça correspond à ce qu'il fallait comprendre.

@+
 

Pièces jointes

  • Yakamoneye.zip
    16.7 KB · Affichages: 207

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour !
Alors j'ai pas mal essayé d'étudier le truc, et je pense que nous sommes sur la voie.

Mon soucis, c'est que j'essaie de transposer des formules sans rien y comprendre.
Vous avez utilisé une matrice, et je n'arrive pas à la transposer à mon cas...
Y a-til des touches particulières à utiliser quand on veut définir une matrice dans excel ?

Serait-il possible d'avoir quelques explications sur les formules que vous m'avez proposé ?

Merci beaucoup
 

Tibo

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour,

Les formules matricielles demandent en fait à être validées par la combinaison de touches :

CTRL + MAJ + ENTREE

au lieu de ENTREE

Sinon, pour une adaptation plus précise, envoie-nous un fichier qui ressemble à ton vrai fichier (toujours sans données confidentielles).

@+
 

chris

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour

Une autre option est d'utiliser les filtres, automatiques personnalisés ou bien élaborés selon les critères.

Il faut les relancer à chaque fois qu'on veut changer les critères ou bien les mémoriser dans des vues personnalisées.
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Ca y est, j'arrive à adapter les formules, mais je n'ai toujours pas de résultats concluants.

pourrais-je avoir quelques précisions sur cette formule:
=SI(LIGNE()-9>SOMME(($F$10:$F$110>30)*($F$10:$F$110<35));"";INDEX(B:B;PETITE.VALEUR(SI(($F$10:$F$110>30)*($F$10:$F$110<35)<>0;($F$10:$F$110>30)*($F$10:$F$110<35)*LIGNE($F$10:$F$110));LIGNE()-9)))

Que signifient chaque parties?

merci
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour

Une autre option est d'utiliser les filtres, automatiques personnalisés ou bien élaborés selon les critères.

Il faut les relancer à chaque fois qu'on veut changer les critères ou bien les mémoriser dans des vues personnalisées.

Je suis un peu un noob, du coup... les filtres c'est quoi exactment ? ça permet de faire quoi ?

merci
 

Tibo

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

re,

Pas forcément facile d'expliquer une formule matricielle mais on va tenter :

Ton tableau commence en ligne 10

SI(LIGNE()-9>SOMME(($F$10:$F$110>30)*($F$10:$F$110<35));""

Cette première partie de la formule permet de déterminer si on dépasse le nombre de lignes correspondant au critère (>30 et < 35). Si le N° de ligne -9 est supérieur au nombre de combinaisons, alors on retourne une chaîne vide.

ensuite :

INDEX(B:B;PETITE.VALEUR(SI(($F$10:$F$110>30)*($F$10:$F$110<35)<>0;($F$10:$F$110>30)*($F$10:$F$110<35)*LIGNE($F$10:$F$110));LIGNE()-9)))

Cette deuxième partie permet de repérer les lignes qui répondent toujours aux mêmes critères (>30 et < 35). Ensuite, avec la fonction INDEX, on récupère les différentes valeurs.

Je sais qu'on peut simplifier encore la formule, mais j'ai encore des galons à gagner dans le domaine des matricielles. Donc un jour, je ferais mieux.

Bon app

@+
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour,

Pas vraiment évident de comprendre ce que tu souhaites faire exactement.

J'ai branché ma boule de cristal (la dernière qui me reste...) et je te propose de regarder le fichier joint.

Solutions proposées sur base de formules matricielles.

Dis nous si ça correspond à ce qu'il fallait comprendre.

@+

Finalement, ce fichier correspond à ce que je cherche, sauf qu'au lieux d'avoir 2 tableaux de résultats, je n'en voudrai qu'un seul, qui combine les deux critères (30<A+B+C<35 et les plus petites valeurs de A.B.C).

Sur ce fichier, il y a une colonne Vrai/faux pour le premier critère, est-il possibme de l'utiliser pour l'indexation des résultats qui m'interressent ?

merci
 

chris

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Re

Les filtres permettent de n'afficher que, ou bien d'extraire, les valeurs d'une liste répondant à un ou plusieurs critères de sélection.

Tous les filtres sont dans le menu données.
Dans les cas simples on utilise le filtre automatique que l'on peut personnaliser pour des cas un peu plus élaborés.
Dans les cas plus complexes ou pour les extractions on utilise le filtre élaboré.
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

J'ai expérimenté les filtres, et ça me permet de faire pas mal de choses qui m'interressent.

Mais cela pourrait être encore plus parfait si je comprennais mieux a la formule
=SI(LIGNE()-9>SOMME(($F$10:$F$110>30)*($F$10:$F$110<35));"";IN DEX(B:B;PETITE.VALEUR(SI(($F$10:$F$110>30)*($F$10: $F$110<35)<>0;($F$10:$F$110>30)*($F$10:$F$110<35)* LIGNE($F$10:$F$110));LIGNE()-9)))

Parce que je voudrais pouvoir extraire de mon tableau dynamique seulement les valeurs vraies, pour les copier dans un autre tableau et utiliser un filtre.
Je pense que c'est tout à fait possible avec cette formule, mais je ne sais pas ce qu'il faut changer pour raisonner sur les valeurs vraies d'une des colonnes.
 

Tibo

XLDnaute Barbatruc
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour,

au lieu d'avoir 2 tableaux de résultats, je n'en voudrai qu'un seul, qui combine les deux critères (30<A+B+C<35 et les plus petites valeurs de A.B.C)

Peux-tu donner plus de précisions sur ce que tu veux obtenir exactement.

J'ai un peu de mal à comprendre comment tu veux combiner les deux critères.

A te (re)lire

@+
 

Yakamoneye

XLDnaute Nouveau
Re : Choisir des valeurs dans un tableau selon certains critères, pour les copier ail

Bonjour,



Peux-tu donner plus de précisions sur ce que tu veux obtenir exactement.

J'ai un peu de mal à comprendre comment tu veux combiner les deux critères.

A te (re)lire

@+

Et bien maintenant que j'ai appris l'existence des filtres, je veux juste extraire de mon tableau dynamique de 5000 valeurs les lignes qui correspondent à un certain critère, exactement comme dans le fichier que tu m'a proposé.
Après, avec les filtres je peux trier par ordre croissant, et c'est exactement ce que je veux.

Le truc c'est que j'ai vraiment du mal à comprendre et à appliquer la formule que tu m'a donné à mon tableau. Je voudrais l'appliquer à un tableau qui commence à la ligne 39, et pourquoi pas à une colonne vrai/faux, obtenue à partir de "=ET(A>30;A<35)" directement.
C'est possible j'imagine?
 

Discussions similaires

Statistiques des forums

Discussions
312 378
Messages
2 087 760
Membres
103 661
dernier inscrit
fcleves