OVH Cloud OVH Cloud

Nombre de jour par mois

20 réponses
Avatar
Carole et Thierry
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de suivi
des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois entre
deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois cumuler
toutes les absences.

Merci beaucoup pour votre aide.

Cordialement

10 réponses

1 2
Avatar
sabatier
bonjour carole (ou thierry)
si tu as en B2 27/09/04 et en C2 30/09/04 et si tu mets en D2 la formule
= C2-B2 + 1
tu vas obtenir le nombre de jours d'arrêt (+1 de façon à inclure le premier
ou le dernier jour)
ne pas oublier de mettre la cellule D2 au format standard
si tu as plusieurs lignes, il te suffit de positionner ton curseur dans
l'angle droit inférieur de la cellule D2 jusqu'à ce qu'il devienne une
petite croix noire et tu double-cliques ou tu fais glisser jusqu'en bas de
ton tableau...
je ne suis pas certain d'avoir bien compris mais tu nous dis zokaou...
jps

"Carole et Thierry" a écrit dans le
message de news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois cumuler
toutes les absences.

Merci beaucoup pour votre aide.

Cordialement




Avatar
Carole et Thierry
Merci "JPS" pour votre réponse rapide

mais ma question devait être mal posé, j'ai besoin du détail de jours , mois
par mois, entre deux dates.

Si mon arrêt est a cheval sur plusieurs mois j'ai besoins de connaître la
répartition des jours par mois, :

Exemple :

Date début 15 janvier
Date de fin : 15 mars

Cela fait : 15 jours en janvier
28 jours en février
15 jours en mars


Merci et à demain

Carole


"sabatier" a écrit dans le message
de news:%23GqBV$$
bonjour carole (ou thierry)
si tu as en B2 27/09/04 et en C2 30/09/04 et si tu mets en D2 la formule
= C2-B2 + 1
tu vas obtenir le nombre de jours d'arrêt (+1 de façon à inclure le
premier

ou le dernier jour)
ne pas oublier de mettre la cellule D2 au format standard
si tu as plusieurs lignes, il te suffit de positionner ton curseur dans
l'angle droit inférieur de la cellule D2 jusqu'à ce qu'il devienne une
petite croix noire et tu double-cliques ou tu fais glisser jusqu'en bas de
ton tableau...
je ne suis pas certain d'avoir bien compris mais tu nous dis zokaou...
jps

"Carole et Thierry" a écrit dans
le

message de news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois
cumuler


toutes les absences.

Merci beaucoup pour votre aide.

Cordialement








Avatar
sabatier
ach, carole, alors là, tu tombes mal avec moi car je suis nul avec ces
fonctions à la chiche m'a eu où un meilleur que moi va te parler de MOIS
avec plein de + et de - mais rassure-toi : tu vas avoir ta réponse...
jps

"Carole et Thierry" a écrit dans le
message de news:415dd438$0$8344$
Merci "JPS" pour votre réponse rapide

mais ma question devait être mal posé, j'ai besoin du détail de jours ,
mois

par mois, entre deux dates.

Si mon arrêt est a cheval sur plusieurs mois j'ai besoins de connaître la
répartition des jours par mois, :

Exemple :

Date début 15 janvier
Date de fin : 15 mars

Cela fait : 15 jours en janvier
28 jours en février
15 jours en mars


Merci et à demain

Carole


"sabatier" a écrit dans le
message

de news:%23GqBV$$
bonjour carole (ou thierry)
si tu as en B2 27/09/04 et en C2 30/09/04 et si tu mets en D2 la
formule


= C2-B2 + 1
tu vas obtenir le nombre de jours d'arrêt (+1 de façon à inclure le
premier

ou le dernier jour)
ne pas oublier de mettre la cellule D2 au format standard
si tu as plusieurs lignes, il te suffit de positionner ton curseur dans
l'angle droit inférieur de la cellule D2 jusqu'à ce qu'il devienne une
petite croix noire et tu double-cliques ou tu fais glisser jusqu'en bas
de


ton tableau...
je ne suis pas certain d'avoir bien compris mais tu nous dis zokaou...
jps

"Carole et Thierry" a écrit
dans


le
message de news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre
de



jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de
jour



arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15
en



mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois
cumuler


toutes les absences.

Merci beaucoup pour votre aide.

Cordialement












Avatar
Philippe.R
Bonsoir,
Si j'ai compris, avec par exemple 12/02/2004 en b2 et 25/04/2004 en c2 :
en d2, pour obtenir le nombre de jours en février la formule :
ÚTE(ANNEE(B2);MOIS(B2)+1;0)-B2
en e2, pour obtenir le nombre de jours en mars :
=SI(MOIS(C2)-MOIS(B2)<=1;C2-DATE(ANNEE(B2);MOIS(B2)+1;0);DATE(ANNEE(B2);MOIS(B2)+2;1)-DATE(ANNEE(B2);MOI
S(B2)+1;1))
en f2 pour le nombre de jours arrêt en avril :
=SI(MOIS(C2)-MOIS(B2)<=2;C2-DATE(ANNEE(B2);MOIS(B2)+2;0);DATE(ANNEE(B2);MOIS(B2)+3;1)-DATE(ANNEE(B2);MOI
S(B2)+2;1))
et ainsi de suite
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Carole et Thierry" a écrit dans le message de
news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de suivi
des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois entre
deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois cumuler
toutes les absences.

Merci beaucoup pour votre aide.

Cordialement




Avatar
Philippe.R
Oups,
pour éviter les éventuels résultats négatifs :
2éme mois
=SI(MOIS(C2)-MOIS(B2)<=1;C2-DATE(ANNEE(B2);MOIS(B2)+1;0);DATE(ANNEE(B2);MOIS(B2)+2;1)-DATE(ANNEE(B2);MOI
S(B2)+1;1))*(SI(MOIS(C2)-MOIS(B2)<=1;C2-DATE(ANNEE(B2);MOIS(B2)+1;0);DATE(ANNEE(B2);MOIS(B2)+2;1)-DATE(A
NNEE(B2);MOIS(B2)+1;1))>0)

3éme mois
=SI(MOIS(C2)-MOIS(B2)<=2;C2-DATE(ANNEE(B2);MOIS(B2)+2;0);DATE(ANNEE(B2);MOIS(B2)+3;1)-DATE(ANNEE(B2);MOI
S(B2)+2;1))*(SI(MOIS(C2)-MOIS(B2)<=2;C2-DATE(ANNEE(B2);MOIS(B2)+2;0);DATE(ANNEE(B2);MOIS(B2)+3;1)-DATE(A
NNEE(B2);MOIS(B2)+2;1))>0)

4éme mois :
=SI(MOIS(C2)-MOIS(B2)<=3;C2-DATE(ANNEE(B2);MOIS(B2)+3;0);DATE(ANNEE(B2);MOIS(B2)+4;1)-DATE(ANNEE(B2);MOI
S(B2)+3;1))*(SI(MOIS(C2)-MOIS(B2)<=3;C2-DATE(ANNEE(B2);MOIS(B2)+3;0);DATE(ANNEE(B2);MOIS(B2)+4;1)-DATE(A
NNEE(B2);MOIS(B2)+3;1))>0)
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philippe.R" a écrit dans le message de
news:
Bonsoir,
Si j'ai compris, avec par exemple 12/02/2004 en b2 et 25/04/2004 en c2 :
en d2, pour obtenir le nombre de jours en février la formule :
ÚTE(ANNEE(B2);MOIS(B2)+1;0)-B2
en e2, pour obtenir le nombre de jours en mars :

=SI(MOIS(C2)-MOIS(B2)<=1;C2-DATE(ANNEE(B2);MOIS(B2)+1;0);DATE(ANNEE(B2);MOIS(B2)+2;1)-DATE(ANNEE(B2);MOI

S(B2)+1;1))
en f2 pour le nombre de jours arrêt en avril :

=SI(MOIS(C2)-MOIS(B2)<=2;C2-DATE(ANNEE(B2);MOIS(B2)+2;0);DATE(ANNEE(B2);MOIS(B2)+3;1)-DATE(ANNEE(B2);MOI

S(B2)+2;1))
et ainsi de suite
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.

"Carole et Thierry" a écrit dans le message de
news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de suivi
des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois entre
deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois cumuler
toutes les absences.

Merci beaucoup pour votre aide.

Cordialement








Avatar
docm
Bonjour.

Si tu aimerais une petite routine macrotique, je te propose ce qui suit (à
adapter et compléter):

Sub RepartirAbsenceParMois()

Sheets("feuil1").Select
colonnedatedepart = Range("B1").Column
colonnedatefin = Range("C1").Column

premiereligne = 1
derniereligne = 10
For i = premiereligne To derniereligne

datedepart = Cells(i, colonnedatedepart).Value
datefin = Cells(i, colonnedatefin).Value

If datedepart <> "" And datefin <> "" Then

colonneresultat = colonnedatefin + 1
Cells(i, colonneresultat) = "Erreur"

a = datedepart
While a <= datefin

annee = Year(a)
mois = Month(a)

premierjourmoissuivant = DateSerial(annee, mois + 1, 1)

If premierjourmoissuivant > datefin Then
premierjourmoissuivant = datefin + 1
End If

nombredejours = DateDiff("d", a, premierjourmoissuivant)

Cells(i, colonneresultat) = nombredejours
Cells(i, colonneresultat + 1) = ""
colonneresultat = colonneresultat + 1

a = premierjourmoissuivant

Wend

End If

Next

End Sub

Salutations.

"Carole et Thierry" wrote in
message news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois cumuler
toutes les absences.

Merci beaucoup pour votre aide.

Cordialement




Avatar
Benead
Salut Carole,

Je pense que le code suivant répond à ta question, mais est a adapter. En fin de macro je mets le résultat dans un nouveau classeur.

Pour le fonctionnement de la macro :
A1Úte de début
B1Úte de fin

Le code :

' *********************************
Sub NbJoursArret()
Dim DateDeb As Date, DateFin As Date, Mois As String, m As Integer, TableMois(), DernJour As Date

ThisWorkbook.Activate

DateDeb = Range("A1")
DateFin = Range("B1")

' mois de la date de début et de la date de fin identique >>> affichage d'un MsgBox
If Month(DateFin) = Month(DateDeb) Then
MsgBox "Il y a " & (DateFin + 1 - DateDeb) & " pour le mois de " & Format(DateDeb, "mm/yyyy")
Else
' Déclaration du tableau qui condiendra :
' - en argument 1, le mois/année
' - le nb jours dans le mois
ReDim TableMois(1 To 2, (Year(DateFin) - Year(DateDeb)) * 12 + Month(DateFin) - Month(DateDeb) + 1)
For m = 0 To UBound(TableMois, 2) - 1 ' On passe tous les mois en revue
Mois = Format(DateAdd("m", m, DateDeb), "yyyy/mm") ' Décalage d'un mois à chaque fois

' Recherche du dernier jour du mois, si décembre, traitement séparé
If Month(Mois) = 12 Then
DernJour = CDate(Year(Mois) & "/12/31")
Else
DernJour = CDate(Year(Mois) & "/" & Month(Mois) + 1 & "/1") - 1
End If
' Màj de l'argument 1 de la table : mois/année
TableMois(1, m + 1) = Mois
' Màj de l'argument 2, le nb de jour par mois (test si début ou fin de période...)
If Mois = Format(DateDeb, "yyyy/mm") Then
TableMois(2, m + 1) = DateDiff("d", DateDeb - 1, DernJour)
ElseIf Mois = Format(DateFin, "yyyy/mm") Then
TableMois(2, m + 1) = Day(DateFin)
Else
TableMois(2, m + 1) = DateDiff("d", CDate(Mois & "/1") - 1, DernJour)
End If
Next m ' Boucle s
Workbooks.Add
Range(Cells(1, 1), Cells(UBound(TableMois, 1), UBound(TableMois, 2))) = TableMois
End If
End Sub
' *********************************


--
A+
Benead
Bretagne
Xl97
-------- ;-)

Carole et Thierry a écrit:
Merci "JPS" pour votre réponse rapide

mais ma question devait être mal posé, j'ai besoin du détail de jours , mois
par mois, entre deux dates.

Si mon arrêt est a cheval sur plusieurs mois j'ai besoins de connaître la
répartition des jours par mois, :

Exemple :

Date début 15 janvier
Date de fin : 15 mars

Cela fait : 15 jours en janvier
28 jours en février
15 jours en mars


Merci et à demain

Carole


"sabatier" a écrit dans le message
de news:%23GqBV$$

bonjour carole (ou thierry)
si tu as en B2 27/09/04 et en C2 30/09/04 et si tu mets en D2 la formule
= C2-B2 + 1
tu vas obtenir le nombre de jours d'arrêt (+1 de façon à inclure le


premier

ou le dernier jour)
ne pas oublier de mettre la cellule D2 au format standard
si tu as plusieurs lignes, il te suffit de positionner ton curseur dans
l'angle droit inférieur de la cellule D2 jusqu'à ce qu'il devienne une
petite croix noire et tu double-cliques ou tu fais glisser jusqu'en bas de
ton tableau...
je ne suis pas certain d'avoir bien compris mais tu nous dis zokaou...
jps

"Carole et Thierry" a écrit dans


le

message de news:415dcafc$0$8336$

Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de


suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois


entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois


cumuler


toutes les absences.

Merci beaucoup pour votre aide.

Cordialement












Avatar
Carole et Thierry
Bonjour,

Merci a tous pour vos bon conseils, la nuit a été productive :>)

Je vais prendre une bonne douche pour me réveiller et j'attaque.

Je vous tiens au courant mais déjà MERCI vous êtes supers....

Carole
"docm" a écrit dans le message de
news:
Bonjour.

Si tu aimerais une petite routine macrotique, je te propose ce qui suit (à
adapter et compléter):

Sub RepartirAbsenceParMois()

Sheets("feuil1").Select
colonnedatedepart = Range("B1").Column
colonnedatefin = Range("C1").Column

premiereligne = 1
derniereligne = 10
For i = premiereligne To derniereligne

datedepart = Cells(i, colonnedatedepart).Value
datefin = Cells(i, colonnedatefin).Value

If datedepart <> "" And datefin <> "" Then

colonneresultat = colonnedatefin + 1
Cells(i, colonneresultat) = "Erreur"

a = datedepart
While a <= datefin

annee = Year(a)
mois = Month(a)

premierjourmoissuivant = DateSerial(annee, mois + 1, 1)

If premierjourmoissuivant > datefin Then
premierjourmoissuivant = datefin + 1
End If

nombredejours = DateDiff("d", a, premierjourmoissuivant)

Cells(i, colonneresultat) = nombredejours
Cells(i, colonneresultat + 1) = ""
colonneresultat = colonneresultat + 1

a = premierjourmoissuivant

Wend

End If

Next

End Sub

Salutations.

"Carole et Thierry" wrote in
message news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre de
jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de jour
arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15 en
mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois
cumuler


toutes les absences.

Merci beaucoup pour votre aide.

Cordialement








Avatar
sabatier
nous sommes sensibles à ton message, carole, mais sois gentille : arrête
d'éclabousser partout....
jps

"Carole et Thierry" a écrit dans le
message de news:415e38e4$0$8338$
Bonjour,

Merci a tous pour vos bon conseils, la nuit a été productive :>)

Je vais prendre une bonne douche pour me réveiller et j'attaque.

Je vous tiens au courant mais déjà MERCI vous êtes supers....

Carole
"docm" a écrit dans le message de
news:
Bonjour.

Si tu aimerais une petite routine macrotique, je te propose ce qui suit



adapter et compléter):

Sub RepartirAbsenceParMois()

Sheets("feuil1").Select
colonnedatedepart = Range("B1").Column
colonnedatefin = Range("C1").Column

premiereligne = 1
derniereligne = 10
For i = premiereligne To derniereligne

datedepart = Cells(i, colonnedatedepart).Value
datefin = Cells(i, colonnedatefin).Value

If datedepart <> "" And datefin <> "" Then

colonneresultat = colonnedatefin + 1
Cells(i, colonneresultat) = "Erreur"

a = datedepart
While a <= datefin

annee = Year(a)
mois = Month(a)

premierjourmoissuivant = DateSerial(annee, mois + 1, 1)

If premierjourmoissuivant > datefin Then
premierjourmoissuivant = datefin + 1
End If

nombredejours = DateDiff("d", a, premierjourmoissuivant)

Cells(i, colonneresultat) = nombredejours
Cells(i, colonneresultat + 1) = ""
colonneresultat = colonneresultat + 1

a = premierjourmoissuivant

Wend

End If

Next

End Sub

Salutations.

"Carole et Thierry" wrote in
message news:415dcafc$0$8336$
Bonjour,

Dans le cadre de mes activités professionnelles, je gère un tableau de
suivi

des arrêts maladie.

il se pressente sous la forme :

Nom Date début arrêt Date de fin Nombre
de



jour arrêt.

Mon "boss" me demande maintenant de faire une synthèse du nombre de
jour



arrêt mois par mois.

J'ai donc besoin de savoir comment calculer le nombre de jour par mois
entre

deux dates.

Par exemple:

si mon arrêt va du 15 janvier au 15 mars,

Le résultat devrait être : 15 jours en janvier, 28 en février, et 15
en



mars.

Bien sur mon tableau fait plusieurs centaine de lignes et je dois
cumuler


toutes les absences.

Merci beaucoup pour votre aide.

Cordialement












Avatar
AV
Avec :
- les noms en A2:Ax
- les dates début en B2:Bx
- les dates de fin en C2:Cx
A1:C1 comporte les étiquettes de colonnes ("Noms","Déb"....)

En D1:O1 tu inscris les noms des mois
D1 = Janvier..>..O1 = Décembre

En D1 et recopie -->O1 puis recopie --> Ox (x est la dernière ligne contenant
des données)
Matricielle (validation par ctrl+maj+entrée) :

=SOMME(SI(MOIS($B2-1+LIGNE(INDIRECT("1:"&($C2-$B2)+1)))=COLONNE()-3;1;0))

Et voilà ton tableau fait
A partir de là, tu peux faire un TCD ou un bout de macro pour synthétiser par
nom (extraction par filtre élaboré...etc)
Tout peux aussi se faire par macro
Si tu sais pas, demande...

AV
1 2