Formule "Decaler" un peu embêtante

yakutake83

XLDnaute Occasionnel
Bonjour le forum!

Voilà, j'aimerais l'avis de personnes qui s'y connaissent assez bien dans les formules "Decaler"!

Je vous mets la formule que j'ai (et qui bugue) et je vous explique le pourquoi du comment:
Code:
ASSURNOUV=DECALER(INDIRECT("["&Feuil1!$B$1&"]Donnees!$G1");;;MIN(SI(ESTVIDE(INDIRECT("["&Feuil1!$B$1&"]Donnees!$G2:$G5000"));LIGNE(INDIRECT("["&Feuil1!$B$1&"]Donnees!$G2:$G5000"))))-1)

Explications:
je suis sur ma feuille 1 d'un fichier (appelons-le test);
sur cette feuille, j'ai, en B1, le nom d'un fichier Excel duquel je veux puiser des infos;
je veux prendre les infos de la colonne G sur la feuille Donnees;
je veux en plus aller jusqu'à la dernière ligne remplie;
cependant, la colonne G n'est pas totalement remplie, il y a des trous;
en revanche, la colonne B est remplie en totalité;
enfin mon fichier ne fait pas plus de 5000 lignes.


Si quelqu'un pouvait m'aider à comprendre pourquoi cette formule me renvoie #REF!, ça m'aiderait bien!
Ce qui m'aiderait encore plus, ce serait de me trouver une formule qui puisse régler mon problème!

Merci d'avance (en espérant que mon problème n'est pas trop casse-tête)
 

Tibo

XLDnaute Barbatruc
Re : Formule "Decaler" un peu embêtante

Bonjour,

Pour ma part, j'aime bien la fonction DECALER.

Mais pour pouvoir apprécier ta formule, il faudrait nous la restituer dans son contexte, c'est à dire avec le fichier.

Remplace les données confidentielles

Le fichier à joindre : XLS ou ZIP, taille < 48.8 ko

A te (re)lire

@+
 

yakutake83

XLDnaute Occasionnel
Re : Formule "Decaler" un peu embêtante

je joins donc un mini-exemple (sauf que je me suis planté, j'ai mis le nom du fichier "source" en cellule A1 au lieu de B1)

le but est de renvoyer:

les 5 plus grandes sommes
le client associé à chacune de ces sommes
l'intermédiaire associé à chacune de ces sommes

merci d'avance!
 

Pièces jointes

  • exemple.zip
    4.9 KB · Affichages: 24
  • exemple.zip
    4.9 KB · Affichages: 20
  • exemple.zip
    4.9 KB · Affichages: 20

yakutake83

XLDnaute Occasionnel
Re : Formule "Decaler" un peu embêtante

re!

bin justement, la définition de ASSURNOUV dont je parle dans mon premier message est la définition que je cherche à mettre au point dans le fichier Exemple2! (une fois réglé le problème du ASSURNOUV, régler celui des autres noms revient à simplement changer la colonne d'étude)

le ASSURNOUV prend les infos de la colonne G, le COURTNOUV prend les infos de la colonne F, et le ANOUV celles de la colonne M

@+
 

Monique

Nous a quitté
Repose en paix
Re : Formule "Decaler" un peu embêtante

Bonjour,

En nommant, dans le fichier 2, les plages du fichier 1 comme ça :

Anouv
=DECALER(INDIRECT("["&$B$1&"]Donnees!M3");;;EQUIV("zz";INDIRECT("["&$B$1&"]Donnees!C:C"))-2)

AssurNouv
=DECALER(INDIRECT("["&$B$1&"]Donnees!G3");;;EQUIV("zz";INDIRECT("["&$B$1&"]Donnees!C:C"))-2)

CourtNouv
=DECALER(INDIRECT("["&$B$1&"]Donnees!F3");;;EQUIV("zz";INDIRECT("["&$B$1&"]Donnees!C:C"))-2)

=EQUIV("zz";C:C) renvoie le n° de la dernière ligne contenant du texte

La formule que tu utilisais :
=MIN(SI(ESTVIDE(plage);LIGNE(plage))) renvoie le n° de la 1ère ligne vide, 9 dans ton exemple

Mais… il faut que le fichier source soit ouvert pour que ça fonctionne.
 

Pièces jointes

  • DecalerYakutake.zip
    5.2 KB · Affichages: 23

Discussions similaires

Réponses
17
Affichages
993

Statistiques des forums

Discussions
312 215
Messages
2 086 333
Membres
103 188
dernier inscrit
evebar