trouver la 1ere valeur d'une colonne en fonction d'une cellule

Nicob

XLDnaute Nouveau
Bonjour à tous,

Une petite galère ce soir.

Je souhaite trouver en A4 la 1ere valeur de la colonne d de la feuil2 en fonction du nom de la cellule B1,puis trouver en A5 la 2ere valeur de la colonne d de la feuil2 en fonction du nom de la cellule B1et ainsi de suite.

Merci de vos réponses
 

Pièces jointes

  • Classeur1.xlsx
    10.2 KB · Affichages: 59
  • Classeur1.xlsx
    10.2 KB · Affichages: 71
  • Classeur1.xlsx
    10.2 KB · Affichages: 89

Nicob

XLDnaute Nouveau
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Bonjour Mapomme,

Merci de ton aide mais cette formule ne fonctionne pas car la cellule B4 est déja une formule rechercheV (lorsque je mets cette formule, cela me repond qu'il y a une ref circulaire).
La recherche doit impérativement se faire en fonction de la région en cellule B1 Feuil1.
Encore merci de ta réponse.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

(re)Bonjour Nicob,

J'avais lu trop vite la question :eek:

Voici une formule matricielle en A4 à copier vers le bas:
Code:
=SIERREUR(INDEX(Feuil2!$D$1:$D$14;PETITE.VALEUR(SI(Feuil2!$A$2:$A$14=$B$1;LIGNE(Feuil2!$A$2:$A$14);"");LIGNE()-3));"")

Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • Nicob v1.xlsx
    12.4 KB · Affichages: 48

Nicob

XLDnaute Nouveau
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Bonjour Mapomme,

Désolé pour hier soir mais je me suis endormi avant ta réponse (j'était debout depuis 3h30 du mat et une sacré journée derrière moi).
La formule fonctionne dans le fichier mais après transformation du tableau, elle ne fonctionne plus et je n'arrive pas à comprendre pourquoi.
Je joins le fichier définitif en Feuil3.
Si tu as le temps de m'expliquer, je suis preneur.
Merci beaucoup.
 

Pièces jointes

  • Classeur1.xlsx
    15.7 KB · Affichages: 97
  • Classeur1.xlsx
    15.7 KB · Affichages: 97
  • Classeur1.xlsx
    15.7 KB · Affichages: 74

Nicob

XLDnaute Nouveau
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Re bonjour,

Je viens de comprendre et de trouver une partie de la réponse.
La formule fonctionne en Feuil3 cellule A34 mais il doit me manquer quelque chose pour retranscrire en A67, puis A100.
Si quelqu'un peu m'aider, merci.
 

Pièces jointes

  • Classeur1.xlsx
    15.7 KB · Affichages: 43
  • Classeur1.xlsx
    15.7 KB · Affichages: 49
  • Classeur1.xlsx
    15.7 KB · Affichages: 60

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Bonsoir Nicob,

Dans la formule matricielle, le deuxième paramètre de la fonction Petite.Valeur désigne le rang de la plus petite valeur à trouver. On doit attribuer successivement à ce paramètre la valeur 1 puis 2 puis ...

C'est ce que tu as parfaitement déduit pour la valeur 1 puisque tu as indiqué en A34 le terme LIGNE()-33 comme paramètre.

Le problème c'est que les lignes ne se suivent pas. La prochaine formule est sur la ligne 67, la suivante sur la ligne 100 et forcément pour la ligne 67 le terme LIGNE()-33 prend la valeur 34 (au lieu de 2) et pour la ligne 100 la valeur 77 (au lieu de 3).

Comme les lignes où doit se trouver la formule matricielle sont espacée de 33 (et commence à 34), on peut utiliser pour le paramètre la formule suivante: (LIGNE()-1)/33)).
pour la ligne 34, cela donne: (34-1)/33=33/33=1
pour la ligne 67, cela donne: (67-1)/33=66/33=2
pour la ligne100, cela donne: (100-1)/33=99/33=3

La formule matricielle complète devient:
Code:
=SIERREUR(INDEX(Feuil2!$D$1:$D$20;PETITE.VALEUR(SI(Feuil2!$A$2:$A$20=$B$1;LIGNE(Feuil2!$A$2:$A$20);"");(LIGNE()-1)/33));"")
 

Pièces jointes

  • Nicob v2.xlsx
    16.7 KB · Affichages: 63
Dernière édition:

Nicob

XLDnaute Nouveau
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Bonjour Mapomme,

Merci pour ta réponse rapide et qui fonctionne.
Je m'était égaré avec la fonction DECALER.

Un petit souci cependant dans le fichier définitif (il ne manque plus que cela pour finaliser)
La cellule A70 est la meme que la cellule A37(le reste est OK).
Je ne comprend pas pourquoi?
Je joins le fichier complet (onlet Feuil1)dans le fichier Zip.

Merci de tes conseilles.
 

Pièces jointes

  • Suivi DA.zip
    101.3 KB · Affichages: 17

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

(re)Bonsoir Nicob,

Tu utilises dans la formule (LIGNE()-1)/36 qui n'est pas exact.
1) le pas entre deux formules matricielles est 33 et non pas 36.
2) On part de la ligne 37 et on veut que la division par 33 donne 1. il faut donc faire (37-4)/33 => 33/33 => 1

La formule à utiliser est donc: (LIGNE()-4)/33

Vérification:
pour la ligne 70 => (ligne()-4)/33 => (70-4)/33 => 66/33 => 2
pour la ligne suivante 103=> (ligne()-4)/33 => (103-4)/33 => 99/33 => 3.

La formule matricielle devient:
Code:
=SIERREUR(INDEX(MDE!$N$1:$N$199;PETITE.VALEUR(SI(MDE!$K$2:$K$199=$B$2;LIGNE(MDE!$K$2:$K$199);"");(LIGNE()-4)/33));"")
 

Pièces jointes

  • Suivi DA v1.xlsm
    212.1 KB · Affichages: 166

Nicob

XLDnaute Nouveau
Re : trouver la 1ere valeur d'une colonne en fonction d'une cellule

Re- bonjour Mapomme,

Encore un grand merci pour ton aide.
Tes explications sont très claires et facilement transposable à d'autres fichiers.
Voilà c'est fini pour ce fichier et pour ce soir.
Bonne soirée.
 

Discussions similaires

Statistiques des forums

Discussions
312 491
Messages
2 088 888
Membres
103 982
dernier inscrit
krakencolas