[Excel] total sur un tableau en fonction attribut nom (colonne) et dates (ligne) v2

Bonjour,

Je bloque sur un problème pour faire un total de jour de présence en fonction du nom en référence de colonne (colonne A) et du mois (en ligne 1, j’ai les jours sur un an et en colonne 2 la valeur en mois de 0 à 12), un exemple :

Et je cherche donc à avoir un truc du genre :
|Personne|janvier|février|
|NON Prénom 1|24,5|15|
|NON Prénom 3|26|20|
|NON Prénom 3|26|20|
|NON Prénom 4|25|16|

Ci-joint, un fichier d’exemple :
exemple_tableau_recap_calendrier.xlsx (15,7 Ko)

J’ai testé avec =somme.si.ens() ainsi qu’avec un tableau croisé dynamique, mais je n’ai pas réussi.
Si quelqu’un aurait une astuce :slight_smile: , merci d’avance.

Cordialement.

Bonjour

Je te propose une fonction personnalisée
Celle-ci est dénommée « Totale »
3 paramètres à déterminer :

Plage (est la plage des cellules des dates onglet « calendrier » à prendre en compte ici j’ai ciblé de la cellule « D1 » à « CM1 » attention plus cette plage est grande plus le temps de traitement de la formule sera allongé)

Mois (est le mois traité en rapport avec la cellule de la ligne 1 onglet « tableau » choisie)

Nom (est celui de la colonne A choisi onglet « tableau » pour réaliser la somme onglet "calendrier)

Dans cet esprit fais des tests et dis moi

Attention ce fichier est de type « .xlsm » nécessaire au fonctionnement VBA à maintenir impérativement

exemple_tableau_recap_calendrier.xlsm (23,3 Ko)

Bonjour à vous
Une chose que je ne pige pas
Les dates dans calendrier sont en 2022, alors que dans le tableau les mois sont en 2021, les résultats devraient tous à zéro.

Salut FFO, dans une fonction, il ne faut pas oublier de mettre APPLICATION.VOLATILE, en début de code, sinon, la fonction ne mettra pas à jour en cas de changement dans les données du calendrier.
Après, je ne vois pas le but de la fonction, puisque SOMME.SI.ENS() donne le même résultat, il y aurait juste à rajouter les critères de l’année

Bonjour Mimimathy
Tu as tout à fait raison et je viens de le tester
L’instruction « Application.Volatile » permet une actualisation des formules lorsque une valeur est modifiée onglet « calendrier » pour le nom et la période impliquée
Mais l’expérience m’a montré jusqu’à maintenant que cette instruction n’apporte pas toujours cette particularité et de l’avoir intégré dans plusieurs procédures sans l’obtenir
Donc peut être maladroitement de ma part de m’en passer compte tenu de ces expériences négatives qui ne permettaient pas d’obtenir de cette instruction une mise à jour au gré des modifications

Effectivement dans le cas d’espèce elle joue pleinnement sont rôle

Pour l’utilisation d’une fonction personnalisée au lieu de la formule « SOMME.SI.ENS » c’est d’obtenir le résultat attendu quelque soit l’ordre des noms dans l’onglet « calendrier »
Si cette ordre n’est pas équivalent la formule « SOMME.SI.ENS » sera inopérante alors que ma fonction personnalisée le reste

D’où ma proposition dans cet esprit

Pour les années effectivement je ne les considère pas car ce n’était pas un critère pour notre demandeur juste le mois qui devais être pris en compte uniquement

Merci pour tes remarques toujours très utiles me concernant

Au plaisir de te lire à nouveau

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.