Incompréhension de code
blalaa
Messages postés
167
Date d'inscription
Statut
Membre
Dernière intervention
-
blalaa Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
blalaa Messages postés 167 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde
quelqu’un peut m'expliquer ce code (ce qu'il fait exactement ?)
merci d'avance pour vos réponse
quelqu’un peut m'expliquer ce code (ce qu'il fait exactement ?)
Sub recup_conges() 'debut en s50 2017 'colonne S dans l'onglet perso 'ligne 13 pour la charge 'ceu2 comme debut dans l'onglet des conges 'remplissage du nouvel onglet pour ne pas prendre en compte les TAD Dim dispo As Integer Dim jour As Integer Dim semaine As Integer Dim personne As Integer 'le nombre de personne dans la liste est de 18 For personne = 0 To 18 semaine = 0 '5 signifie que la personne était pressente pendant toute la semaine dispo = 5 For jour = 0 To 365 * 2 + 5 If Worksheets("Recup_absences").Range("d2").offset(personne, jour).Value <> "" And jour Mod 7 <= 4 Then dispo = dispo - 1 End If If jour Mod 7 = 5 Then Worksheets("synthese_conges_SS_tad").Range("b2").offset(personne, semaine).Value = dispo semaine = semaine + 1 dispo = 5 End If Next jour Next personne 'Worksheets("Aurélien Thorez").Range("aa13").Value = 5 MsgBox ("Mise à jour des congés terminée") End Sub
merci d'avance pour vos réponse
A voir également:
- Incompréhension de code
- Code ascii - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
surtout pour
If Worksheets("Recup_absences").Range("d2").offset(personne, jour).Value <> "" And jour Mod 7 <= 4 Then
dispo = dispo - 1
merci encore
If Worksheets("Recup_absences").Range("d2").offset(personne, jour).Value <> "" And jour Mod 7 <= 4 Then
dispo = dispo - 1
merci encore
Bonjour,
De manière générale pour comprendre une macro, tu peux faire ça : https://www.commentcamarche.net/contents/1381-debogage
La personne qui a codé l'a fait sur la base des personnes (une personne par ligne) et des dates (en colonne). La macro semble partir du principe que tous les jours sont travaillés, si on écrit quelque chose dans une cellule, on compte ça comme travaillé ou congé/RTT/autre absence (je ne sais pas quelle logique a été prise).
Mod=modulo => jour Mod 7 renvoie un résultat de 0 (lundi) à 4 (vendredi), je pense.
Plus bas (dans le code), tous les "jour Mod 7 = 5" (samedi ?), on indique le nombre de jours travaillés (ou non travaillés ?) dans la semaine.
A+
De manière générale pour comprendre une macro, tu peux faire ça : https://www.commentcamarche.net/contents/1381-debogage
La personne qui a codé l'a fait sur la base des personnes (une personne par ligne) et des dates (en colonne). La macro semble partir du principe que tous les jours sont travaillés, si on écrit quelque chose dans une cellule, on compte ça comme travaillé ou congé/RTT/autre absence (je ne sais pas quelle logique a été prise).
Mod=modulo => jour Mod 7 renvoie un résultat de 0 (lundi) à 4 (vendredi), je pense.
Plus bas (dans le code), tous les "jour Mod 7 = 5" (samedi ?), on indique le nombre de jours travaillés (ou non travaillés ?) dans la semaine.
A+