Decompte de jours maladie par tranche sur planning

BZH56

XLDnaute Occasionnel
bonjour au fil

Sur un planning d absence , je suis le nombre d absences par motif mais on me demande d afficher les congés maladies (ATM) suivant le nombre de jour
ex; nb d arrets <3 j et somme des jours correspondants a cette tranche etc...
mon problème est comment faire lorsqu'il y a plusieurs congés dans le même mois.
je joint une maquette simplifiée avec les résultats attendus.

par avance , merci
 

Pièces jointes

  • BZH3.xls
    130.5 KB · Affichages: 219
  • BZH3.xls
    130.5 KB · Affichages: 231
  • BZH3.xls
    130.5 KB · Affichages: 233

Fred0o

XLDnaute Barbatruc
Re : Decompte de jours maladie par tranche sur planning

Bonjour BZH56,

Euh, je ne savais pas que les arrêts de travail pour maladie étaient des congés... Certains doivent le penser, ce qui peut expliquer le déficit de la sécurité sociale. En plus, c'est tellement entré dans les moeurs que cet abus de langage est passé dans le le langage courant.

Bref, je jette quand même un oeil à ton fichier.

A+
 

Fred0o

XLDnaute Barbatruc
Re : Decompte de jours maladie par tranche sur planning

Re-bonsoir BZH,

Voici une proposition avec 2 formules personnalisées, dans le fichier ci-joint.

J'en ai profiter pour renommer quelques colonnes pour appeler un chat, un chat.

A+
 

Pièces jointes

  • BZH3_V1.xls
    155.5 KB · Affichages: 215

BZH56

XLDnaute Occasionnel
Re : Decompte de jours maladie par tranche sur planning

eh bien, cela me semble une affaire rondement menée --- merci FredOo
Désolé pour l'abus de langage en utilisant encore a tord le mot congé au lieu d'arrêt. Tu as entièrement raison
Ton code VBA me semble limpide mais comment fonctionne cette boucle...j'en perds mon latin

encore merci a toi pour cette premiere avec moi
 

Fred0o

XLDnaute Barbatruc
Re : Decompte de jours maladie par tranche sur planning

Re-bonsoir,

En fait les 2 fonctions utilisent le même code (j'aurais encore pu simplifier...). La seule différence est qu'elles ne renvoient pas la même variable.
Pour les paramétrer, il faut rentrer le nombre de joiurs minimum à inclure puis le nombre maximum et enfin la plage dans laquelle on veut effectuer le compte.
Ceci revient à n'utiliser que des >= ou bien <=.

Si tu veux d'autres explications, précises lesquelles.

A+
 

BZH56

XLDnaute Occasionnel
Re : Decompte de jours maladie par tranche sur planning

Re-bonsoir ,
En fait j ai bien compris comment tu utilise les bornes et la plage mais je n arrive pas voir a quel moment tu détectes le changement d arrêt ..
merci de m'éclairer encore une fois
 

Fred0o

XLDnaute Barbatruc
Re : Decompte de jours maladie par tranche sur planning

Re-Bonsoir,

Dans la boucle
VB:
For Each Cel In Zone
je parcours chaque cellule (dans l'ordre) de la zone spécifiée. Si la cellule contient "ATM", alors j'incrémente la variable i. Si la cellule ne contient pas "ATM" et que i >= borne inférieure et i <= borne supérieure, alors je viens de treminer une période qui correspond à ce que je veux comptabiliser. Donc, j'incrémente le nombre d'arrêts et le compteur total de jours d'arrêts. Ensuite, je remets la variable i à 0 pour redémarrer le comptage de cellules contenant "ATM".

En espérant avoir été clair, A+
 
Dernière édition:

BZH56

XLDnaute Occasionnel
Re : Decompte de jours maladie par tranche sur planning

Re-Bonsoir,

Dans la boucle [highlight=vba=]For Each Cel In Zone[highlight]
je parcours chaque cellule (dans l'ordre) de la zone spécifiée. Si la cellule contient "ATM", alors j'incrémente la variable i. Si la cellule ne contient pas "ATM" et que i >= borne inférieure et i <= borne supérieure, alors je viens de treminer une période qui correspond à ce que je veux comptabiliser. Donc, j'incrémente le nombre d'arrêts et le compteur total de jours d'arrêts. Ensuite, je remets la variable i à 0 pour redémarrer le comptage de cellules contenant "ATM".

En espérant avoir été clair, A+

c est parfait et si simple en le lisant.
encore merci FredO0 et au plaisir:):):):):)
 

BZH56

XLDnaute Occasionnel
Decompte de jours d arret par type sur planning

Bonjour le fil
Suite au code suivant(fourni par Fredo0) qui marche très bien, je voudrais pouvoir l'adapter en intégrant dans la formule une référence a une cellule existante ce qui me permettrait une recherche quelque soit le code.
Code:
Function Nb_Jours_ATM(J_Min As Integer, J_Max As Integer, Zone As Range, ) As Integer
    Dim i, j, NbATM, Cel, NbJ
    
    i = 0
    NbATM = 0
    For Each Cel In Zone
        If Cel = "ATM" Then
            i = i + 1
        ElseIf i >= J_Min And i <= J_Max Then
            NbATM = NbATM + 1
            NbJ = NbJ + i
            i = 0
        Else: i = 0
        End If 
    Next
    Nb_Jours_ATM = NbJ
End Function
c est a dire au lieu de mettre dans le code (ex : cel ="ATM") ,je souhaiterais faire référence au contenu d'une cellule - voir fichier ci joint -
merci:)
 

BZH56

XLDnaute Occasionnel
Re : Decompte de jours maladie par tranche sur planning

Bonjour BZH56,

Sans répondre à ta question, je te conseille la lecture de cette discussion sur les ATM (et non pas COM:D ) et le calcul d'une prime FA

https://www.excel-downloads.com/threads/la-formule-incluant-les-samedis-non-feries.157833/

bonjour exene
par politesse , je suis aller voir ton lien mais au dela de cette discussion sur atm, com,Prime FA , je voudrais me limiter a cette fonction qui fait recours au VBA et que je souhaite enrichir en la liant a une variable.
Je trouve cette "astuce" reutilisable et j'aimerais bien la maitriser
merci a toi et bonne journée
 

BZH56

XLDnaute Occasionnel
Decompte d absences par tranche sur planning- RESOLU

Bonjour BZH56,

En pièce jointe, tu trouveras le fichier avec les formules modifiées suivant ta demande.

A+

Merci , Fred0o, c est parfait ,j ai adapte ton code avec la variable en en-tête de colonne et cela m'evite de répéter x fois le code en changeant cette variable a l' interieur du code.
le soleil est de retour :cool::cool::cool::cool:
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia