Utilisation fonction INDEX

Bonjour à tous,

Après tenté de résoudre mon problème grâce à une Recherche V, je me suis vite rendu compte que c'était impossible. Mes recherches m'ont amené vers les fonctions INDEX, EQUIV... que je ne connaissais pas et que je n'arrive pas à appliquer...

J'ai un fichier avec deux onglets. Un onglet source où je vais piocher mes données. Un onglet Indicateur où j'affiche les données en fonction d'une recherche de Fournisseur (via une liste modifiable dans un UF).

Je veux afficher pour le fournisseur sélectionné le nombre de lots et de pièces livrés par mois. Pour les pièces pas de soucis la Recherche V fonctionne très bien. Pour les lots par contre je n'arrive à rien !

Je vous mets en pièce jointe un fichier allégé pour visualiser la chose. Il sera en pratique plein de données pour chaque fournisseur. Le but ultime étant de pouvoir faire des indicateurs rapidement pour chaque fournisseur sans avoir un fichier surchargé (il y a en réalité plus de 300 fournisseurs...). Ces données servant de base à des calculs de taux de conformité et ce genre de choses.

Merci d'avance pour votre aide précieuse !

hanz2.0

Bonjour,

Peux-tu nous dire d'où proviennent les données en feuille STAT_OCM_RECEPTION ?

On dirait bien une copie de TCD !...

Cdlt.

Bonjour Jean-Eric,

C'est totalement une copie en valeur d'un TCD.

Cordialement.

Bonjour @ tous,

en C9 :

=SIERREUR(INDEX(DECALER(STAT_OCM_RECEPTION!C$7:C$50;MOD(LIGNES($9:9)-1;2););PETITE.VALEUR(SI((STAT_OCM_RECEPTION!$A$7:$A$50=$B$8)*(STAT_OCM_RECEPTION!C$7:C$50<>"");LIGNE(INDIRECT("1:"&LIGNES(STAT_OCM_RECEPTION!C$7:C$50))));ENT((LIGNES($9:9)-1)/2)+1));"")

@ valider par Ctrl+Shift+Enter

@ tirer vers le bas et vers la droite

en O9 :

=SIERREUR(MOYENNE(C9:N9);"")

@ tirer vers le bas

@ + +

Edit :

j'ai pas pensé que c'est une copie d'un TCD, alors il y aura pas de doublons, je me suis cassé la tête pour rien.


Re,

dans ce cas une formule classique suffira, en C9 :

=SIERREUR(CNUM(INDEX(DECALER(STAT_OCM_RECEPTION!C$7:C$50;LIGNES($9:9)-1;);EQUIV($B$8;STAT_OCM_RECEPTION!$A$7:$A$50;0))&"");"")

@ tirer vers la cellule C10 puis vers la droite

@ + +

Bonjour Rachid,

Je n'ai absolument rien compris ni à la première ni à la deuxième version de la formule mais l'essentiel est qu'elles fonctionnent ! Je vais tenter de déchiffrer tout cela à tête reposée.

Merci beaucoup pour cette réactivité, bonne fin d'après-midi !

Cordialement.

Re,

Je ne comprends pas tout !

Pourquoi faire une copie de TCD et recommencer le travail 2 fois.

Il te suffisait de mettre le nom du fournisseur en page de filtre et filtrer par FRN.

A te relire.

Cdlt.

Jean-Eric,

Dans le TCD que je copie ces deux données sont les seules informations utiles que j'en tire. En filtrant je peux effectivement récupérer les données d'un fournisseur de mon choix mais je dois ensuite copier ces données dans un autre tableau afin de les comparer et les inclure dans d'autres calculs (c'est là leur seule utilité). Ici la seule manipulation qu'il y aura est la copie de ce TCD qui correspond à une extraction mensuelle d'un ERP. On ne récupèrera à terme que le dernier mois.

Ensuite il suffit de choisir le fournisseur via la macro et les formules me sortent les données qu'il me faut pour faire les indicateurs demandés.

Alors après il n'est pas impossible qu'il y ait une façon plus simple de fonctionner mais à force de réfléchir à la même chose pour essayer de contenter tout les futurs utilisateurs on s'embrouille un peu

Cordialement.

Re,

Il suffit donc de travailler sur le TCD, filtrer sur un FRN et copier coller (valeurs) ce que tu désires dans un autre tableau.

Il faut évidemment que le format de destination correspond peu ou prou, plutôt prou, au format du TCD.

Ceci évidemment en VBA.

Cdlt.

Re,

C'eut été effectivement une solution, je n'y avais pas songé de cette façon. Merci en tout cas pour ton aide !

Cordialement.

Rechercher des sujets similaires à "utilisation fonction index"