Récupérer une zone dans un TCD

Bonjour,

J’ai un souci pour récupérer une zone dans un TCD en fonction de la valeur d’une cellule.

Pour mieux comprendre, je vous joins un fichier que j’ai créé et simplifié exprès.

Dans ce fichier, il y aura 3 feuilles par année (là je n’ai mis que 2015, mais existe pour x années). Ces feuilles contiennent des TCD (pas dans mon exemple mais en réalité si)

Dans la feuille « COMPARE NPDC », on rentre en paramètre 2 années à comparer, plus un mois à comparer.

La comparaison sur le mois ne me pose pas de problème pour aller récupérer dans la feuille les bonnes données, ce qui me pose problème, c’est le cumulé du début de l’année jusqu’au mois saisi, car je dois aller chercher dans le TCD une zone que je saisie à la main, mais que je voudrais automatiser.

EN rouge les cellules qui me posent problème. En H7, j’ai mis la formule :

=SOMME.SI(INDIRECT("'NPDC MAG "&$B$1&"'!$D$6:$O$6");"<="&$B$3;INDIRECT("'NPDC MAG "&$B$1&"'!$D$12:$O$12"))

Mais je souhaiterais aller chercher automatiquement la ligne 12 dans $D$12 :$O$12.

En fait, je veux récupérer le numéro de ligne dans la feuille ‘NPDC*’ qui correspond au code article de la ligne référencée dans ‘COMPARE NPDC’ (B7).

Je ne sais pas si je suis claire, c’est difficile d’expliquer.

Dans tous les cas, je remercie par avance toutes les personnes qui se pencheront sur mon cas.

18vente-outillage.zip (20.37 Ko)

La fonction EQUIV te permet de retrouver la valeur 12 :

=EQUIV(C7;INDIRECT("'NPDC MAG "&$B$1&"'!$C:$C");0)

à intégrer dans ton fichier déjà bien complexe !

Pourquoi ne pas tout reprendre aveec les formules LIREDONNEESTABCROISDYNAMIQUE?

Merci Steelson,

Je vais tester ta proposition ASAP.

Quand à ta question , j'utilise cette fonction pour récupérer la donnée pour le mois voulu (=SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("Somme des Ventes";INDIRECT("'NPDC MAG "&$B$1&"'!A5");"MOIS";$B$3;"CODE";DECALER(E7;0;-3));0) , mais je ne pensais pas cela possible pour une somme soumise à condition .....

Maintenant, si tu as l'info, je suis preneuse pour simplifier !!

Déjà un grand merci d'avoir répondu aussi vite.

Sandrine-59 a écrit :

j'utilise cette fonction pour récupérer la donnée pour le mois voulu (=SIERREUR(LIREDONNEESTABCROISDYNAMIQUE("Somme des Ventes";INDIRECT("'NPDC MAG "&$B$1&"'!A5");"MOIS";$B$3;"CODE";DECALER(E7;0;-3));0).

BRAVO ! car c'est très rare de voir les gens l'utiliser comme cela en changeant un paramètre dans la formule ($B$3 pour le mois ici)

Sandrine-59 a écrit :

mais je ne pensais pas cela possible pour une somme soumise à condition .....

Maintenant, si tu as l'info, je suis preneuse pour simplifier !!

Pas de raison, mais dans ton fichier ce ne sont plus des TCD, donc je ne peux pas aller plus loin. Mais je suis sûr qu'on doit pouvoir y arriver. Cela dit comme tu mets aussi l'année en paramètre (dans INDIRECT) cela ne va pas forcément simplifier ...

Sandrine-59 a écrit :

Déjà un grand merci d'avoir répondu aussi vite.

Normal ! un Chti d'origine ...

Est-ce que l'emploi de la fonction EQUIV te suffit ?

=EQUIV(C7;INDIRECT("'NPDC MAG "&$B$1&"'!$C:$C");0)

Bonjour,

Steelson, je viens de tester ce que tu m'as envoyé. Effectivement cela me renvoie bien la ligne voulue, c'est super.

Par contre, je n'arrive pas à l'intégrer dans ma formule qui devient trop complexe.

=SOMME.SI(INDIRECT("'NPDC MAG "&$B$1&"'!$D$6:$O$6");"<="&$B$3;INDIRECT("'NPDC MAG "&$B$1&"'!$D$12:$O$12"))

deviendrait :

=SOMME.SI(INDIRECT("'NPDC MAG "&$B$1&"'!$D$6:$O$6");"<="&$B$3;INDIRECT("'NPDC MAG "&$B$1&"'!$D$"(EQUIV(B7;INDIRECT("'EEV NPDC TPV "&$B$1&"'!$B:$B");0))":$O$"(EQUIV(B7;INDIRECT("'EEV NPDC TPV "&$B$1&"'!$B:$B");0)")

J'ai essayé avec et sans "", mais j'ai toujours un message que ma formule contient une erreur ....

Je pense copier le résultat de ta formule dans une cellule (cachée), et aller la chercher dans ma formule, cela devrait simplifier.

Je te tiens au courant.

Encore MERCI !!!!

Mets un nom d'onglet sans espace comme ici : NPDC_MAG_2015, ce qui supprimera le besoin de 'dans la formule, cela deviendra alors :

=SOMME.SI(INDIRECT("NPDC_MAG_"&$B$1&"!$D$6:$O$6");"<="&$B$3;INDIRECT("NPDC_MAG_"&$B$1&"!$D$"&EQUIV(C7;INDIRECT("NPDC_MAG_"&$B$1&"!$C:$C");0)&":$O$"&EQUIV(C7;INDIRECT("NPDC_MAG_"&$B$1&"!$C:$C");0)))

Il faudra aussi remplir les cases vides en C8, C9 etc. pour tirer le formule !

J'ai finalement réussi comme cela, j'avoue, c'est assez imbuvable, mais cela fonctionne.

=SIERREUR(SOMME.SI(INDIRECT("'NPDC MAG "&$B$1&"'!$D$6:$O$6");"<="&$B$3;INDIRECT("'NPDC MAG "&$B$1&"'!"&(SIERREUR(CONCATENER("$D$";EQUIV(DECALER(H7;0;-6);INDIRECT("'NPDC MAG "&$B$1&"'!$B:$B");0);":$O$";EQUIV(DECALER(H7;0;-6);INDIRECT("'NPDC MAG "&$B$1&"'!$B:$B");0));""))));0)

Je suis super contente, merci de ton aide.

Rechercher des sujets similaires à "recuperer zone tcd"