Calcul en fonction présence hebdomadaire VBA
Résolu
Co_nexion
Messages postés
328
Date d'inscription
Statut
Membre
Dernière intervention
-
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Calcul en fonction présence hebdomadaire VBA
- Fonction si et - Guide
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Presence en ligne instagram - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
10 réponses
Bonjour,
sans VBA
Essaies
=ENT((F2-JOURSEM(F2)-E2+8)/7)-(JOURSEM(F2;2)<5)*1
calcule le nombre de lundi entre les dates (source: Alain Vallon) et retire une semaine si la dernière semaine de présence se termine avant le vendredi
sans VBA
Essaies
=ENT((F2-JOURSEM(F2)-E2+8)/7)-(JOURSEM(F2;2)<5)*1
calcule le nombre de lundi entre les dates (source: Alain Vallon) et retire une semaine si la dernière semaine de présence se termine avant le vendredi
Bonjour Michel,
Le problème avec cette formule c'est qu'il m'est indiqué le nombre de semaines entre ces deux dates. Et cela ne permet pas d'alimenter le tableau de synthèse.
Le problème avec cette formule c'est qu'il m'est indiqué le nombre de semaines entre ces deux dates. Et cela ne permet pas d'alimenter le tableau de synthèse.
Excuses moi j'avais lu le message en diagonale
Quand tu écris:
pour la première et dernière semaine que cela soit calculé au prorata (au prorata d'une semaine sans dimanche et jours fériés).
que veux tu dire?
je comprend comme ça: si je commence un mercredi, la 1) semaine ne compte; si je termine un jeudi, la dernière ne compte pas
?
suivant ta réponse, je te demanderais peut-^tre aussi d'expliquer l'influence des jours fériés sur ton calcul; pour l'instant je ne vois que ceux qui tombent un lundi ou un samedi mais...?
D'autre part dans ta synthèse, est ce par personne ou pour l'ensemble des agents?
je repasserai seulement en fin d'aprèm
Quand tu écris:
pour la première et dernière semaine que cela soit calculé au prorata (au prorata d'une semaine sans dimanche et jours fériés).
que veux tu dire?
je comprend comme ça: si je commence un mercredi, la 1) semaine ne compte; si je termine un jeudi, la dernière ne compte pas
?
suivant ta réponse, je te demanderais peut-^tre aussi d'expliquer l'influence des jours fériés sur ton calcul; pour l'instant je ne vois que ceux qui tombent un lundi ou un samedi mais...?
D'autre part dans ta synthèse, est ce par personne ou pour l'ensemble des agents?
je repasserai seulement en fin d'aprèm
Merci Michel, voici les précisions :
pour la première et dernière semaine que cela soit calculé au prorata (au prorata d'une semaine sans dimanche et jours fériés).
que veux tu dire?
je comprend comme ça: si je commence un mercredi, la 1) semaine ne compte; si je termine un jeudi, la dernière ne compte pas
?
Il ne s'agit pas d'exclure la semaine mais de compter au prorata de la quotité soit pour l'exemple : le 08/08/2012 est un mercredi donc 4 jours sur 6 (mercredi, jeudi, vendredi et samedi) de présence soit 4/6*1 pour la semaine 32. Et pour le 09/10/2012, c'est un mardi soit 2 jours sur 6 (lundi et mardi) soit 2/6*1 pour la semaine 41.
Concernant les jours fériés, je devance ta question (si je ne me trompes pas) :
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32.
Pour finir la synthèse sur l'onglet 2 du fichier rassemble tous les agents. Soit sur la semaine 42 = 3 (quotité ligne 3 et 4) ou encore semaine 34 = 2 (quotité ligne 2 et 4).
J'espère avoir été le plus clair possible, merci encore pour le coup de main et à tout à l'heure
pour la première et dernière semaine que cela soit calculé au prorata (au prorata d'une semaine sans dimanche et jours fériés).
que veux tu dire?
je comprend comme ça: si je commence un mercredi, la 1) semaine ne compte; si je termine un jeudi, la dernière ne compte pas
?
Il ne s'agit pas d'exclure la semaine mais de compter au prorata de la quotité soit pour l'exemple : le 08/08/2012 est un mercredi donc 4 jours sur 6 (mercredi, jeudi, vendredi et samedi) de présence soit 4/6*1 pour la semaine 32. Et pour le 09/10/2012, c'est un mardi soit 2 jours sur 6 (lundi et mardi) soit 2/6*1 pour la semaine 41.
Concernant les jours fériés, je devance ta question (si je ne me trompes pas) :
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32.
Pour finir la synthèse sur l'onglet 2 du fichier rassemble tous les agents. Soit sur la semaine 42 = 3 (quotité ligne 3 et 4) ou encore semaine 34 = 2 (quotité ligne 2 et 4).
J'espère avoir été le plus clair possible, merci encore pour le coup de main et à tout à l'heure
Bonjour à tous,
Pourrais-tu préciser sur les fériés...
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Et quelle est l'influences des fériés sur une semaine complète ? Elle vaut toujours 1 ?
Je ne te cache pas que tenir compte des fériés complique singulièrement...
D'autre part ton tableau 2 est mal préparé :
- pas d'emplacement pour un identifiant. C'est un oubli ou c'est un tableau global comptabilisant tous les ident ?
- tes semaines sur plusieurs lignes vont t'empêcher de copier facilement les formules. Il faudra les reprendre à chaque ligne. Une présentation en colonne pour les semaine serait beaucoup mieux.
eric
Pourrais-tu préciser sur les fériés...
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Et quelle est l'influences des fériés sur une semaine complète ? Elle vaut toujours 1 ?
Je ne te cache pas que tenir compte des fériés complique singulièrement...
D'autre part ton tableau 2 est mal préparé :
- pas d'emplacement pour un identifiant. C'est un oubli ou c'est un tableau global comptabilisant tous les ident ?
- tes semaines sur plusieurs lignes vont t'empêcher de copier facilement les formules. Il faudra les reprendre à chaque ligne. Une présentation en colonne pour les semaine serait beaucoup mieux.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour eric, bonjour michel et bonjour le forum,
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Quand tu dis il n'est pas arrivé tu parles du jour férié ? Pour éviter toute confusion, j'ai rajouté deux exemple dans le tableau.
Pour la ligne 5, sa première semaine (semaine 17) sera la moitié de sa quotité (1,5) car (3/6 *3). Et sa dernière semaine incluant le 14/07 (semaine 28) la quotité est égal à 5/5*3 soit 3.
Cela me permet de répondre à ta question suivante
Et quelle est l'influences des fériés sur une semaine complète ? Elle vaut toujours 1 ?
Effectivement c'est bien cela, c'est pour cela que l'impact des jours fériés n'a de sens que sur la première et la dernière semaine.
- pas d'emplacement pour un identifiant. C'est un oubli ou c'est un tableau global comptabilisant tous les ident ?
C'est un tableau global comptabilisant tous les ident.
Une présentation en colonne pour les semaine serait beaucoup mieux.
J'ai réalisé ce tableau de cette manière afin qu'il soit imprimable facilement par la personne qui l'utilisera (qu'il tienne sur une page pour faciliter la lecture) si tu as une idée pour permettre cela en améliorant la visibilité, ça m'interesse ;)
PS: et précise aussi par des exemples l'impact des fériés sur le calcul mensuel.
Il s'agit de la même chose que le calcul par semaine. Pour l'exemple pris précédemment, ligne 5, en avril sa quotité est de 4/25*3. En mai, elle est de 23/23*3 (mois complet), idem en juin (mois complet) et en juilllet 11/25*3.
Pour faciliter la compréhension, j'ai rempli manuellement le tableau afin que cela se comprenne visuellement.
https://www.cjoint.com/?BIgkC3bGymM
Merci beaucoup pour le temps accordé
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Quand tu dis il n'est pas arrivé tu parles du jour férié ? Pour éviter toute confusion, j'ai rajouté deux exemple dans le tableau.
Pour la ligne 5, sa première semaine (semaine 17) sera la moitié de sa quotité (1,5) car (3/6 *3). Et sa dernière semaine incluant le 14/07 (semaine 28) la quotité est égal à 5/5*3 soit 3.
Cela me permet de répondre à ta question suivante
Et quelle est l'influences des fériés sur une semaine complète ? Elle vaut toujours 1 ?
Effectivement c'est bien cela, c'est pour cela que l'impact des jours fériés n'a de sens que sur la première et la dernière semaine.
- pas d'emplacement pour un identifiant. C'est un oubli ou c'est un tableau global comptabilisant tous les ident ?
C'est un tableau global comptabilisant tous les ident.
Une présentation en colonne pour les semaine serait beaucoup mieux.
J'ai réalisé ce tableau de cette manière afin qu'il soit imprimable facilement par la personne qui l'utilisera (qu'il tienne sur une page pour faciliter la lecture) si tu as une idée pour permettre cela en améliorant la visibilité, ça m'interesse ;)
PS: et précise aussi par des exemples l'impact des fériés sur le calcul mensuel.
Il s'agit de la même chose que le calcul par semaine. Pour l'exemple pris précédemment, ligne 5, en avril sa quotité est de 4/25*3. En mai, elle est de 23/23*3 (mois complet), idem en juin (mois complet) et en juilllet 11/25*3.
Pour faciliter la compréhension, j'ai rempli manuellement le tableau afin que cela se comprenne visuellement.
https://www.cjoint.com/?BIgkC3bGymM
Merci beaucoup pour le temps accordé
Bonjour,
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Quand tu dis il n'est pas arrivé tu parles du jour férié ?
Non, je parlais de l'agent, arrivé le 08/08
En résumé pour les mois incomplets : on fait au prorata des jours ouvrés ?
Et même question pour le mois que pour la semaine : si l'agent arrive après le 14/07 on compte toujours le mois à 25 jours ?
eric
Si le 07/08/2012 était un jour férié alors le prorata serait de 4/5*1 pour la semaine 32
Il n'est pas encore arrivé mais on compte quand même la semaine à 5 jours au lieu de 6 ?
Quand tu dis il n'est pas arrivé tu parles du jour férié ?
Non, je parlais de l'agent, arrivé le 08/08
En résumé pour les mois incomplets : on fait au prorata des jours ouvrés ?
Et même question pour le mois que pour la semaine : si l'agent arrive après le 14/07 on compte toujours le mois à 25 jours ?
eric
Non, je parlais de l'agent, arrivé le 08/08
Pardon j'avais pas compris comme cela... Etant donné qu'il commence sur cette semaine (la semaine 32) même les jours qu'il n'a pas travaillé affecte sa quotité.
Pour les mois c'est exactement pareil.
Et même question pour le mois que pour la semaine : si l'agent arrive après le 14/07 on compte toujours le mois à 25 jours ?
Egalement pour ce cas
N'hésites pas si je ne suis pas claire
Pardon j'avais pas compris comme cela... Etant donné qu'il commence sur cette semaine (la semaine 32) même les jours qu'il n'a pas travaillé affecte sa quotité.
Pour les mois c'est exactement pareil.
Et même question pour le mois que pour la semaine : si l'agent arrive après le 14/07 on compte toujours le mois à 25 jours ?
Egalement pour ce cas
N'hésites pas si je ne suis pas claire
J'ai un pb sur ton dernier exemple.
Semaine 18 tu trouves 5, moi : 3
Lig 4 : semaine intermédiaire : +1
Lig 5 : semaine intermédiaire : +1
Lig 6 : semaine de début : je compte la quotité (=1 on a de la chance...) au prorata (arrivé le lundi donc semaine complète) ce qui fait encore +1
Dans ce cas (aée le lundi) est-ce une semaine de début ou une semaine intermédiaire où la quotité n'est pas à prendre en compte ? Ca ne résoudra pas l'écart mais il faut que je sache...
Peux-tu expliquer ton 5 stp ?
Et j'ai un écart de 2 jusqu'à la semaine 27. La 28 je trouve 0.5 en moins. Ensuite ok jusqu'à la semaine 40.
Puis à nouveau des écarts jusqu'à la fin.
eric
Semaine 18 tu trouves 5, moi : 3
Lig 4 : semaine intermédiaire : +1
Lig 5 : semaine intermédiaire : +1
Lig 6 : semaine de début : je compte la quotité (=1 on a de la chance...) au prorata (arrivé le lundi donc semaine complète) ce qui fait encore +1
Dans ce cas (aée le lundi) est-ce une semaine de début ou une semaine intermédiaire où la quotité n'est pas à prendre en compte ? Ca ne résoudra pas l'écart mais il faut que je sache...
Peux-tu expliquer ton 5 stp ?
Et j'ai un écart de 2 jusqu'à la semaine 27. La 28 je trouve 0.5 en moins. Ensuite ok jusqu'à la semaine 40.
Puis à nouveau des écarts jusqu'à la fin.
eric
Bonjour eric,
Pardon de mettre si longtemps pour le retour...
Tout d'abord un grand merci d'avoir repris ce fichier et d'y avoir apporté ces corrections cela m'a permis de comprendre certaines choses.
J'ai contrôlé les résultats et ceux-ci sont corrects.
Malheureusement, il y a toujours quelque chose qui m'échappe. J'ai fait une reproduction identique de mon fichier. J'ai juste changé le nom du bouton (ce qui n'affecte en rien le code).
Mais dès que je clique sur le bouton la procédure bug et m'affiche ce message d'erreur :
Erreur d'exécution 13 : Incompatibilité de type. Et il me surligne la ligne suivante (en gras)
Sauf que mon tableau est exactement le même que le tien et je ne comprends vraiment pas pourquoi il bug à ce niveau...
Pardon de mettre si longtemps pour le retour...
Tout d'abord un grand merci d'avoir repris ce fichier et d'y avoir apporté ces corrections cela m'a permis de comprendre certaines choses.
J'ai contrôlé les résultats et ceux-ci sont corrects.
Malheureusement, il y a toujours quelque chose qui m'échappe. J'ai fait une reproduction identique de mon fichier. J'ai juste changé le nom du bouton (ce qui n'affecte en rien le code).
Mais dès que je clique sur le bouton la procédure bug et m'affiche ce message d'erreur :
Erreur d'exécution 13 : Incompatibilité de type. Et il me surligne la ligne suivante (en gras)
For lig = 2 To Cells(Rows.Count, 3).End(xlUp).Row jourDeb = Cells(lig, 5) jourFin = Cells(lig, 6) quotité = Cells(lig, 9)
Sauf que mon tableau est exactement le même que le tien et je ne comprends vraiment pas pourquoi il bug à ce niveau...
Bonjour,
à mon avis c'est la donnée en cells(lig,5) qui est incorrecte.
Par exemple une chaine au lieu d'une date excel.
Difficile d'en dire plus sans ton fichier.
eric
à mon avis c'est la donnée en cells(lig,5) qui est incorrecte.
Par exemple une chaine au lieu d'une date excel.
Difficile d'en dire plus sans ton fichier.
eric
Bonjour eric,
J'ai bien regardé et les dates sont belles et bien des dates...
J'ai l'impression d'avoir exactement le même fichier que toi...
Aurais-tu apporté des modifications aux propriétés quelque part ?
En tout cas voici le fichier dans lequel je souhaite utiliser cette fonction, tu verras que c'est le même que précédemment (ou alors une erreur s'est glissé mais je ne la vois pas...)
https://www.cjoint.com/?BIskd3cuytZ
Merci d'avance pour ton aide
J'ai bien regardé et les dates sont belles et bien des dates...
J'ai l'impression d'avoir exactement le même fichier que toi...
Aurais-tu apporté des modifications aux propriétés quelque part ?
En tout cas voici le fichier dans lequel je souhaite utiliser cette fonction, tu verras que c'est le même que précédemment (ou alors une erreur s'est glissé mais je ne la vois pas...)
https://www.cjoint.com/?BIskd3cuytZ
Merci d'avance pour ton aide
Encore une fois, excuse moi
Voici le fichier sans bug au début
https://www.cjoint.com/?BIsk5KIrl81
Voici le fichier sans bug au début
https://www.cjoint.com/?BIsk5KIrl81
J'avais pas vu au début. Merci.
Merci beaucoup pour tout le temps que tu as pu passer avec moi.
Et merci pour cette procédure très intéressante.
Je me permets de te demander avant de valider définitivement ce topic si tu as une idée concernant la date en ligne 6 colonne F. Sinon je rouvres un topic parce que du coup depuis ce matin je cherches d'où cela peut venir.
Quoi qu'il en soit un GRAND merci
Merci beaucoup pour tout le temps que tu as pu passer avec moi.
Et merci pour cette procédure très intéressante.
Je me permets de te demander avant de valider définitivement ce topic si tu as une idée concernant la date en ligne 6 colonne F. Sinon je rouvres un topic parce que du coup depuis ce matin je cherches d'où cela peut venir.
Quoi qu'il en soit un GRAND merci
Bonjour eriiiic,
Serait-il possible d'ajouter une petite option dans ce code.
Je souhaite en fait ajouter un chiffre provenant d'une autre colonne d'une autre feuille.
En fait, il s'agit de la colonne "AH2;AH" (chiffre à ajouter),
en fonction de la semaine en "AJ2;AJ" ,
et au mois figurant en colonne "AI2;AI".
La feuille se nomme Archive_CDD_Fin_De_Contrat
Je ne sais pas si c'est jouable de l'ajouter comme cela dans le code, ou s'il faut recréer une autre procédure ?
Serait-il possible d'ajouter une petite option dans ce code.
Je souhaite en fait ajouter un chiffre provenant d'une autre colonne d'une autre feuille.
En fait, il s'agit de la colonne "AH2;AH" (chiffre à ajouter),
en fonction de la semaine en "AJ2;AJ" ,
et au mois figurant en colonne "AI2;AI".
La feuille se nomme Archive_CDD_Fin_De_Contrat
Je ne sais pas si c'est jouable de l'ajouter comme cela dans le code, ou s'il faut recréer une autre procédure ?
Merci ca fonctionne parfaitement,
A bientôt