Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Je cherche à faire l'addition de tous mes jours dans la feuille conso par salarié.
En fait, je voudrais ajouter la fonction index ou equiv... mais je sais pas trop.
Je cherche un petite formule qui regarde dans chaque onglet (dec10 a mars11) le nombre de jours pour chaque salarié, sachant que le nombre de salarié peut varier au mois le mois et l'ordre, d'ou ma recherche en fonction du nom...
Cf petit exemple, en conso c'est juste ma formule mais pas bonne.
Peux t'on ajouter le critère faire la somme en fonction du nom et du type.
Ex: faire la somme de salarié 1 de tous les onglets et du type CP.
Il se peut que par la suite au fil des mois..., avec des noms réels, le calcul soit faussé, car les salariés n'auront pas forcément le même emplacement car en conso, il y aura un tri par salarié.
Une posssibilité en pièce jointe (cf. fichier somme), pas très belle, mais bon... La formule est longue pour tenir compte des "inversions" possibles dans la liste des salariés (cf. un exemple en rouge sur la feuille dec10). Autrement, on aurait pu faire avec une somme 3D. C'est tellement plus simple.
On peut mettre des noms à la place de certaine partie de la formule pour éviter les répétitions et la rendre plus lisible (cf. fichier Somme bis).
DECALER(dec10!$A$1;EQUIV($A2;dec10!$A$2:$A$20;0);EQUIV(M$1;$A$1:$K$1;0)-1) (= DEC dans le fichier bis) va chercher dans la feuille dec10 la cellule sur la ligne du salarié concerné (avec EQUIV($A2;dec10!$A$2:$A$20;0), puisque A2 contient le nom du salarié concerné) et dans la bonne colonne (avec EQUIV(M$1;$A$1:$K$1;0)-1, puisque M$1 contient le type du jour).
Ainsi le DECALER ci-dessus donne DECALER(dec10!$A$1;1;1) (décalage d'une ligne et d'une colonne), c'est à dire le contenu de la cellule dec10!B2.
La partie ci-dessus est donc de la forme SI(ESTNUM(DEC);DEC;0).
On fait de même avec les feuilles suivantes, ce qui donne pour janvier 2011 :
La formule complète est de la forme SI(ESTNUM(DEC);DEC;0) + SI(ESTNUM(JANV);JANV;0) + SI(ESTNUM(FEV);FEV;0)...
En effet, comme tous les noms des salariés ne se trouvent pas dans toutes les feuilles (par ex, salarié 8 n'est pas dans la feuille dec10), si on ne mettait directement DEC+JANV+FEV... on aurait des #NA lorsque la formule ne trouve pas, dans certaines feuilles, le nom du salarié.
Cette formule n'est pas super puisqu'il faut rajouter un +SI(ESTNUM(X);X;0) pour chaque nouvelle feuille. Pour autant, ce n'est pa très compliqué à faire.
Comme d'habitude, Monique nous a trouvé une solution plus astucieuse 🙂. Intéressant : C'est du matriciel camouflé (SOMMEPROD) qui permet de faire du 3D. Méthode à mémoriser. Il ni a même pas besoin de traiter les #NA possibles... Vraiment bien vu.
Ce n'est pas de moi, c'est du Boisgontier pur et dur
Mais il manque un truc pour obtenir la liste des onglets sauf le dernier (ou sauf le premier)
sans passer par une liste dans la feuille
Je me suis cassé la tête à trouver une solution, rien trouvé.
Là, au moins, c'est net : pas une feuille en trop, pas une liste à traîner sur une feuille
Oui, Monique, mais cela serait quand même intéressant si on trouvait une astuce pour ne "ramener" qu'une partie de la liste donnée par LIRE.CLASSEUR(1)... J'ai essayé, sans succès, avec par exemple, pour ne ramener que les 4 premiers noms, INDEX(NomFeuilles;;{1;2;3;4}). Le "pire", c'est que certains essais me donnent le bon résultat dans la fenêtre d'évaluation pas à pas, mais pas dans la cellule, et que la formule que tu as proposée ne le fait pas juqu'au bout dans la fenêtre d'évaluation (affichage de nombreux #VALEUR), mais donne le résultat dans la cellule...
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD