[Résolu] Besoin d'aide : Formule pour aller chercher des données sur plusieurs xlsx

orphen

XLDnaute Nouveau
Bonjour,

C'est mon premier message ici je fait donc une rapide présentation.

Je travaille comme adjoint d'un gestionnaire et ce dernier m'a demander de monter deux fichiers pour avoir les statistiques des employés et l'autre pour préparer des fiches de rencontre pour les évaluations.

Je suis arrivé a monter une liste déroulante allant chercher une table des employés dans un onglet et a automatiser les informations principales des personnes en question.

J'ai également automatisé l'entrée des statistiques de l'année pour chaque employé.

Dans mon document par contre j'ai une partie ou je voudrais pouvoir automatiser les statistiques des 5 dernieres semaines de travail pour chaque sous catégorie pour chacun des employés comme je l'ai fait pour les stats annuelles mais pour cela il faut que j'aille chercher dans le classeur 2 (celui des statistiques) 5 valeurs dans des colonnes différentes en fonction d'une date de début et que je les additionne.(exemple : valeur prod du 30 janvier + valeur prod du 27 etc... 5 fois)

Je vous avoue que rendu la je bloque et aurai besoin d'aide.

Le but final est d'évidemment rentrer uniquement le nom de l'employé et une date pour la partie des 5 semaines et que tout se fasse tout seul.

Je ne sais pas si quelqu'un a une idée mais je vous remercie d'avance.

Je vous met ci-dessous un lien pour chacun de mes fichiers, je ne sais pas si j'ai le droit de faire cela sur le forum et si je ne suis pas correct je m'en excuse (j'ai voulu gérer mes pieces jointes mais impossible de le faire sur un des deux fichiers car il est trop gros)




Merci d'avance pour votre aide

PS : J'ai mis disponible des version tronquées de mes fichiers qui contiennent des intitulés et des noms factices pour les besoins de l'exercice.
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Besoin d'aide pour des formules pour aller chercher des données sur plusieurs xl

Bonjour

Tout d'abord, une petite remarque : Les cellules fusionnées sont source(s) de problème(s). Il faut donc mieux ne pas travailler dessus. Bien sûr qu'elles peuvent être utilisées, mais, de préférence, uniquement pour la décoration, la lisibilité du fichier, son ergonomie, pas pour y faire des calculs ou aller y chercher des valeurs... Par exemple, on ne peut pas y faire de calcul matriciel.


Une méthode possible :

Dans le fichier test Matrice, il faut insérer une ligne au dessus du tableau actuel et y placer en F1 la formule
Code:
=SI(F2="";"";NO.SEMAINE(F2))
et tirer cette formule vers la droite aussi loin que désiré.

Ensuite il faut mettre en A18 du fichier Test TEMPLATE la formule
Code:
MOYENNE(DECALER('[Test Matrice.xlsx]Aides'!$A$3;EQUIV($B3;'[Test Matrice.xlsx]Aides'!$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-1;'[Test Matrice.xlsx]Aides'!$F$1:$BU$1;0));
DECALER('[Test Matrice.xlsx]Aides'!$A$3;EQUIV($B3;'[Test Matrice.xlsx]Aides'!$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-2;'[Test Matrice.xlsx]Aides'!$F$1:$BU$1;0));
DECALER('[Test Matrice.xlsx]Aides'!$A$3;EQUIV($B3;'[Test Matrice.xlsx]Aides'!$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-3;'[Test Matrice.xlsx]Aides'!$F$1:$BU$1;0));
DECALER('[Test Matrice.xlsx]Aides'!$A$3;EQUIV($B3;'[Test Matrice.xlsx]Aides'!$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-4;'[Test Matrice.xlsx]Aides'!$F$1:$BU$1;0));
DECALER('[Test Matrice.xlsx]Aides'!$A$3;EQUIV($B3;'[Test Matrice.xlsx]Aides'!$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-5;'[Test Matrice.xlsx]Aides'!$F$1:$BU$1;0)))

En fait, on répète 5 fois presque la même chose, en allant chercher sur la bonne ligne (avec EQUIV($B3....) le résultat correspondant à la semaine présente (avec NO.SEMAINE(AUJOURDHUI()) -1, puis celui correspondant à la semaine présente -2 et ainsi de suite :

Code:
DECALER($A$3;EQUIV($B3;$A$4:$A$6;0);4+EQUIV(NO.SEMAINE(AUJOURDHUI())-1;$F$1:$BU$1;0))

@ plus

P.S : On aurait peut être pu faire plus simple avec un NO.SEMAINE(F1:BU1) mais cela ne passe pas. Cette fonction refuse apparemment de travailler en matriciel. Pour éviter ce problème, j'ai opté pour l'insertion d'une ligne intermédiaire et de la formule NO.FORMULE(F2) citée ci-dessus.
De même, si on avait pu faire avec -{1;2;3;4;5}, on n'aurait eu qu'un DECALER à écrire, mais je n'y suis pas arrivé, au lieu de 5 DECALER avec -1, -2, -3, -4 et -5.
 
Dernière édition:

orphen

XLDnaute Nouveau
Besoin d'aide pour des formules pour aller chercher des données sur plusieurs xl

Bonjour,

Tout d'abord merci pour la réponse détaillée :).

Étant néophyte en excel cela m'a pris une bonne heure pour comprendre la formule et la mettre en application comme il faut mais j'ai réussi a tout faire fonctionner a mon gout je suis très très satisfait !!

La seule chose que j'ai fini par réussir a faire mais dont je n'ai pas saisi la portée c'est la partie de la formule ou il y a de 4+. J'ai fini par comprendre que c'est ce qui détermine ma premiere colonne de calcul d'une catégorie, 5+ étant la suivante etc...

Je me demandait juste pourquoi la 1ere colonne était 4+ ? Comme je disait j'ai réussi a trouver c'était quoi en tatonnant mais je ne comprend pas :)

Dans tout les cas je te remercie beaucoup pour l'aide apportée !

Je vais attendre ta réponse pour la dernière explication mais je vais taguer mon post comme résolu !

Bonne journée
 

CISCO

XLDnaute Barbatruc
Re : [Résolu] Besoin d'aide : Formule pour aller chercher des données sur plusieurs x

Bonjour

La syntaxe de la fonction DECALER est
DECALER(position initiale; nbre de lignes de décalage;nbre de colonnes de décalage;nbre de lignes de la plage à utiliser;nbre de colonnes de la plage à conserver)

Ici, la fonction DECALER "se positionne" en A3 avec DECALER('[Test Matrice.xlsx]Aides'!$A$3.

EQUIV recherche et renvoie la position du numéro de la semaine précédente dans la plage Aides'!$F$1:$BU$1 avec NO.SEMAINE(AUJOURDHUI())-1. Cela sera au minimum 1 si ce numéro est en F1. Cela provoquerait un décalage d'une seule colonne. En partant de la colonne A (à cause du A3), on irait lire en colonne B. Or, il faut aller lire, pour le moins, en colonne F, en F4, F5 ou F6, soit encore 4 colonnes plus loin, d'où le +4.

En pratique, seules les décalages de 5 (=4+1), 9, 13... colonnes sont intéressants (puisque 1, 2, 3, 4, 6, 7, 8, 10.. sont vides).

Pour se passer de ces 4+, on peut aussi faire en remplaçant tous les A dans les DECALER('[Test Matrice.xlsx]Aides'!$A$3 par un E, ce qui donne DECALER('[Test Matrice.xlsx]Aides'!$E$3, pour se positionner tout de suite en colonne E (puisque les colonnes B, C, D et E ne servent pas pour cette partie du calcul).

La formule n'est pas très compliquée, mais beaucoup trop longue à mon goût. Regardes de temps en temps sur ce fil, je trouvrerais, ou un autre participant trouvera peut être moins long bientôt.

@ plus
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
101
Réponses
4
Affichages
406

Statistiques des forums

Discussions
312 198
Messages
2 086 119
Membres
103 124
dernier inscrit
Antoine Vdm