Bonsoir à tous. J’ai besoin de votre aide pour réaliser une recherche multicritère sur un fichier issu de l’exportation d’un logiciel de paie. Le fichier est certes mal structuré a mon avis mais il est ainsi concu. Vous trouverez le fichier joint.
La feuille nommée RECAP FIS est le fichier source
La feuille nommée "Synthèse Frais Personnels" a vocation a recevoir les données synthètisées dynamiquement
La feuille nommée “Tables” a été crée par moi-même pour divers traitement (validation de données etc…
Je joint les fichiers avec des commentaires sur la feuilleSynthèse Frais.
Merci par avance de votre aide.FicheIndivSalarieB.xlsm (359,5 Ko)
Si j’ai bien compris la demande, la formule SOMME.SI.ENS devrait répondre au soucis.
Elle s’utilise comme ceci avec votre exemple: =SOMME.SI.ENS(Tableau6[[#Tout];[1]];Tableau6[[#Tout];[Année]];'Synthèse Frais Personnels'!$B5;Tableau6[[#Tout];[Code]];'Synthèse Frais Personnels'!$C4)
c’est à dire: SOMME.SI.ENS(colonneàadditionner;colonnecitère1;critère1 etc)
Je pense qu’il est préférable d’utiliser un tableau croisé dynamique dans votre cas. J’ai mis en exemple en onglet TCD
Si vous préférez les formules:
Attention, si vous supprimez votre tableau et le remplacez par un autre, la formule ci-dessus ne fonctionnera plus (le “tableau6” sera peut être “tableau8” ou autre)
Je me suis donc permis de rajouter une petite macro qui récupère le nom du tableau en double cliquant en C1 (onglet Synthèse Frais Personnels).
Avec la formule suivante: =SOMME.SI.ENS(INDIRECT(CONCATENER($C$1;"[";$A5;"]]"));INDIRECT(CONCATENER($C$1;"[Année]]"));'Synthèse Frais Personnels'!$B5;INDIRECT(CONCATENER($C$1;"[Code]]"));'Synthèse Frais Personnels'!C$4) on anticipe le problème.
Bon après si vous changez le nom des onglets, ça ne fontionnera plus non pljus
Donc pour faire plus clair, je vous recommande le TCD
Votre fichier: FicheIndivSalarieB.xlsm (470,5 Ko)
PS: heuuuu, je sais pas, mais ça ressemble vraiment à des données réelles dans votre fichier, si c’est le cas, à l’avenir, faites un fichier avec données factices, c’est beaucoup plus prudent! (dans le fichier retour, j’ai changé tous les noms par Robert Smith )
Bonjour Nono.
Un grand Merci à vous et a mdo100 pour ces trois options. Chacune d’elles me fait avancer d’un grand pas en compétence et donc je ne vous remercierai jamais assez… Je garde les trois.
Je vous souhaite une excellente journée, la mienne commence bien grâce a vos compétences et votre bienveillance.
Comme à Nono, un grand Merci. la solution comme toujours est rapide et efficace. Pour ne rien vous cacher, depuis que j’ai fait votre connaissance sur ce site, jai bcp progressé et surtout rassuré de toujours trouver la solution à tous mes problèmes Excel.
Merci a vous tous, bénévoles anonymes,lumineux et éclairants. Que votre générosité soit constamment dans vos vies récompensée.
A bientôt sans doutes pour de nouveaux problèmes… vites résolus.
Pouvez vous m’expliquer le dernier argument de la formule ?
=SOMMEPROD((Tableau6[Code]=C$4)(Tableau6[Année]=$B5)(Tableau6[[#En-têtes];[1]:[12]]=$A5**)Tableau6[[1]:[12]])*