Afficher valeur plage en fonction de la valeur d'autres cellules - NO VBA

Bonjour à tous,

Je bloque sur une formule excel et j'aurais donc besoin de l'aide d'experts en formule excel (sans VBA si possible).

J'explique la problématique et je joint un fichier qui montre le résultat que je souhaiterais avoir.

L'idée c'est que j'ai une plage de cellule, je souhaiterais afficher la valeur des cellules de cette plage si sur la même ligne d'une cellule de cette plage mais autre colonne le critère correspond (il peut y avoir jusqu'à 2 critères qui sont acceptable).

Je ne suis pas sur d'être clair, mais je pense que le fichier exemple permettra de comprendre le problème plus simplement.

Merci à toute cette belle communauté par avance ! :)

19exemple.xlsx (8.82 Ko)

Bonjour,

le filtre avancé me parait tout indiqué pour cela

10exemple.xlsx (9.60 Ko)
capture d ecran 87

Bonjour Steelson,

Merci beaucoup pour ta réponse.

J'ai testé ta solution mais cela ne marche lorsque il faut copier le résultat dans une autre feuille que celle ou sont les données filtrées (j'ai oublié de préciser cela désolé). De plus je ne suis pas sur que cela marche en automatique non ? il faudra que j'utilise le filtre à chaque remplissage de mon fichier pour avoir le résultat voulu non ?

N'hésites pas à me reprendre si je me trompe :)

J'ai testé ta solution mais cela ne marche lorsque il faut copier le résultat dans une autre feuille que celle ou sont les données filtrées (j'ai oublié de préciser cela désolé). De plus je ne suis pas sur que cela marche en automatique non ? il faudra que j'utilise le filtre à chaque remplissage de mon fichier pour avoir le résultat voulu non ?

Cela marche parfaitement si tu veux l'extraire dans une autre feuille.

Et cela peut s'automatiser ... mais ton titre précisait "NO VBA"

16exemple-1.xlsm (16.05 Ko)

Bonjour Steelson,

Quand je dis en auto, cela veut dire qu'il faut que je puisse remplir le tableau plage (colonne A) et critères (colonne C) manuellement, et que le résultat apparaisse en auto dans la colonne sans aucune action de ma part. Et ceci sans VBA, tu as bien compris le titre. C'est pourquoi il me semblait qu'une formule excel était la solution la plus adaptée..

Alors effectivement j'ai réussi à mettre en place le filtre sur plusieurs feuilles, sauf que mon exemple était un peu simplifié. Le fichier dans lequel je souhaite appliquer la solution, le tableau fait 11 colonnes, et les colonnes plages et critères sont à l'opposé (colonne 1 et 11). Et impossible d'indiquer quelle colonne du tableau je veux extraire le résultat et quelle colonne contient les critères, on me demande juste une plage.

Quand je dis en auto, cela veut dire qu'il faut que je puisse remplir le tableau plage (colonne A) et critères (colonne C) manuellement, et que le résultat apparaisse en auto dans la colonne sans aucune action de ma part. Et ceci sans VBA, tu as bien compris le titre. C'est pourquoi il me semblait qu'une formule excel était la solution la plus adaptée..

oui, une solution matricielle peut convenir, je regarde cela aussi (attention si tu as beaucoup de données)

Alors pour être exact c'est 11 colonnes et 30 lignes.

Merci encore pour ton aide !

C'est super complexe ! il faudrait solliciter Tulipe pour une fonction matricielle intégrale

Voici à quoi j'arrive en détaillant un peu

9exemple.xlsx (10.34 Ko)

Alors effectivement j'ai réussi à mettre en place le filtre sur plusieurs feuilles, sauf que mon exemple était un peu simplifié. Le fichier dans lequel je souhaite appliquer la solution, le tableau fait 11 colonnes, et les colonnes plages et critères sont à l'opposé (colonne 1 et 11). Et impossible d'indiquer quelle colonne du tableau je veux extraire le résultat et quelle colonne contient les critères, on me demande juste une plage.

Pour un filtre avancé il faut que

  • le tableau des critères ait comme en-têtes les en-têtes de colonnes du tableau de base sur lesquelles on affecte le critère
  • le tableau résultat ait comme en-têtes les en-têtes des colonnes que l'on veut voir afficher
  • il ne faut aucun écart d'écriture entre ces en-têtes au niveau orthographe, espaces, accents etc.
  • les critères OU font l'objet de lignes multiples

Si tu poursuis dans cette vie, donne un exemple plus complet.

Oui je suis d'accord ! C'est hyper compliqué !!

Par contre t'as réussi à avoir un joli résultat en peu de temps avec tes formules non matricielles, c'est impressionnant.

Juste une chose qui marche pas avec ta dernière solution, c'est que je peux avoir plusieurs fois la même valeur dans la colonne plage, si c'est le cas, il faut bien que cette valeur s'affiche plusieurs fois (j'espère que ça complique pas encore la chose ... c'est déjà assez compliqué comme ça !).

Je joins un autre fichier exemple qui est plus complet et qui expliquera peut-être mieux la problématique. Et je joins aussi un bout de formule matricielle que j'ai réussi à trouver sur le net, mais qui marche pour un seul critère, ça peut donner des idées (c'est sur la deuxième feuille) :

10exemple-2.xlsx (11.46 Ko)

bonjour

un essai sans une once de vba ;

tu choisis tes critères qui sont à usage unique ,triés sans double ; classés alphabetiquement

toutes les plages sont nommées en dynamique (pas de soucis d'extention)

cordialement

12iwo.xlsx (12.42 Ko)

@ iwo, je te laisse en compagnie de l'expert que je salue ! Prend un peu d'aspirine, je n'ai a peu près rien compris ... c'est du grand Art.

@ iwo, je te laisse en compagnie de l'expert que je salue ! Prend un peu d'aspirine, je n'ai a peu près rien compris ... c'est du grand Art.

bonjour à toi "min fiu "

pourtant c'est simple

1) on trie les critères sans double et tant qu'à faire on les classe alphabétiquement pour faire "pratique"

2) à coté on s'arrange pour faire une liste à geométrie variable qui n'affichera que les critères de la liste ci-dessus qui n'ont pas encore été choisis

pour ce faire , on joue du NB.SI (plage des choix ; plage des critèrestriés/classés), si ce nb.si pete des 0 on garde ,sinon grace au n°de ligne on recupère dans la liste triée /classée

3) il faut nommer cette liste à géometrie variable pour pouvoir l'utiliser sur une autre feuille

4) on utilise ce nom dans données validation de la plage des choix (l'autre feuille) et on s'aperçoit à l'usage que la liste proposée rétrécie

pour l'extraction ; même topo a partir de NB.SI (plage des choix ,plage souche des critères) mais là on ne garde que ce qui est >0

dans les 2 cas Petite .valeur permet de cloisonner chaque n° de ligne lors de l'incrémentation

c'est une methode indienne échaffaudée "san kiri"

Merci Tulipe !

Impressionnant !!!

Ok je vais me pencher sur ta solution, mais effectivement je pense que je vais mettre du temps à comprendre tout ça (au moins partiellement j'espère)

C'est clair que c'est du grand art !

Je reviens vers vous si j'ai compris (ou pas) et surement avec des questions :)

merci

il ne s'agit là que de la mise en oeuvre de fonctions natives (de base) de XL , ça marchera toujours à condition de ne pas depasser 2000 valeurs à mouliner ; car au dela ça rame

Bonjour !

Désolé pour le temps que j'ai mis à revenir vers vous. Il faut dire que j'ai eu besoin de sacrément m'accrocher pour comprendre 1/100ème du fichier !

Alors Tulipe tout d'abord, ton travail est incroyable, je n'ai toujours rien compris mais j'ai réussi à le faire marcher sur le fichier qui m’intéresse donc merci beaucoup pour ton aide !

Cependant, j'aurais besoin d'une petite modif : serait-il possible de modifier la formule pour que le nom "critères" prenne en compte la ligne d'où se trouve le critère ?

Exemple dans le fichier en PJ (qui est le tiens ou j'ai juste supprimer les lignes des valeurs et critères en milieu de plage), il faudrait que je puisse trouver le résultat 1 et 2 (ça c'est OK), mais 7 et 8 aussi (ça un peu moins)

le fichier ci-dessous :

9iwo.xlsx (13.23 Ko)

bonsoir

donc voila

regarde dans Gestionnaire de Noms comment nommer une plage discontinue quand elle contient du texte

nb) quand ce sont des nombres (des vrais) utiliser 9^9

cordialement

21iwo2.xlsx (12.55 Ko)

Tulipe tu es un génie ! Mille merci, le problème est résolu

Rechercher des sujets similaires à "afficher valeur plage fonction vba"