Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1663 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  jour par mois entre deux dates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

jour par mois entre deux dates

n°900179
loki22
Posté le 16-11-2004 à 21:56:23  profilanswer
 

Bonjour
J'ai un fichier excel, en A1 la date de depart, en B1 la daet retour, en C1 le nbre de jours entre les deux date grace a datedif, mais voila apres de d1 a o1 j'ai janvier etc jusqu'a decembre, j'aimerai qu'excel ecrive sous chaque mois le nbre de jours ou l'individu est absent: exemple du 20/04/04 au 06/06/04 en sous janvier 0 etc.. avril 12, mai 30 et juin 6.
Merci d'avance pour vos soluces

mood
Publicité
Posté le 16-11-2004 à 21:56:23  profilanswer
 

n°900533
cvb
Posté le 17-11-2004 à 12:09:43  profilanswer
 

tu peux plus clair dans ta demande, stp ? j'ai pas saisie le truc. Tu parle de calculer un nombre de jour, mais entre quel ecartype ?

n°900557
Profil sup​primé
Posté le 17-11-2004 à 12:42:04  answer
 

A3 : date de départ
B3 : date de retour
C3 : nombre de jours pris
 
de D3 à O3 : les jours pris par mois
 
A toi de gérer ensuite si les jours sont inclus ou pas dans les dates départ / retour
 
A affiner aussi, le nombre de jours dans le mois ( 30 ou 31 , ou meme 28/29 pour février )
 
 
Sub CALx()
 
' **** calcul du nombre de jours pris
ThisWorkbook.ActiveSheet.Range("C3" ) = DateDiff("d", ThisWorkbook.ActiveSheet.Range("A3" ), ThisWorkbook.ActiveSheet.Range("B3" ), vbMonday, vbFirstJan1) + 1
 
For t = 1 To 12
 
 
' **** calcul du nbre de jour pris dans le mois du début du congé
If Month(ThisWorkbook.ActiveSheet.Range("A3" )) = t Then
ThisWorkbook.ActiveSheet.Cells(3, 3 + t) = DateDiff("d", ThisWorkbook.ActiveSheet.Range("A3" ), DateSerial(2004, t, 31), vbMonday, vbFirstJan1) + 1
End If
 
 
' **** calcul du nbre de jour pris dans le mois dde fin du congé
If Month(ThisWorkbook.ActiveSheet.Range("B3" )) = t Then
ThisWorkbook.ActiveSheet.Cells(3, 3 + t) = DateDiff("d", DateSerial(2004, t, 1), ThisWorkbook.ActiveSheet.Range("B3" ), vbMonday, vbFirstJan1) + 1
End If
 
' **** test et calcul si un mois entier à été pris dans la période de congé
If t > Month(ThisWorkbook.ActiveSheet.Range("A3" )) And t < Month(ThisWorkbook.ActiveSheet.Range("B3" )) Then
ThisWorkbook.ActiveSheet.Cells(3, 3 + t) = 30
End If
 
Next t
 
 
End Sub


Message édité par Profil supprimé le 17-11-2004 à 12:43:38
n°900982
loki22
Posté le 17-11-2004 à 18:43:48  profilanswer
 

Merci pour ces infos je vais faire les derniers reglages
A+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  jour par mois entre deux dates

 

Sujets relatifs
date mois[batch] Comment renommer une archive zip avec la date du jour ? jjmmaa
Logiciel gratuit de mise à jour automatique du genre Live Update ?Metre à jour un fichier
PHP - MySql : toutes les occurences du mois / de l'année couranteCreation d'un outil de mise à jour d'un site
Creer un outil de mise à jourcomment changer le jour de debut de semaine sql
BAT : créer un fichier avec comme nom la date du jourDébuter avec les dates et le temps [Tuto]
Plus de sujets relatifs à : jour par mois entre deux dates


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR