Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 VBA / Extraction de dates et heures comprises entre 2 autres selon condition.

PMG

XLDnaute Junior
Bonjour le Fil, Le Forum,

Pourriez vous svp m'aider à finir un code, certains paramètres m'échappent encore!

J'ai un tableau (origine) avec 3 colonnes: code / date de début avec heure / date de fin avec heure.
J'aimerai décomposé chaque ligne du tableau (origine) comme l'exemple ci dessous en tenant compte des jours ouvrés (lundi au vendredi) et heures de travail (9 à 13 et 14 à 19):



J'arrive à extraire une liste de dates mais de là a y ajouter des heures!

Merci d'avance pour votre disponibilité et vos lumières!
PMG
 

Pièces jointes

  • Extraction_dates.xlsm
    33.9 KB · Affichages: 18

PMG

XLDnaute Junior
Re,
J'avais commencé à comprendre et reprendre le code, mais j'en étais encore loin (pas ton niveau).
J'ai bien compris le code super intéressant par rapport à If Else etc...

Juste un petit problème sur la première date, il manque une date:
33 29/05/20 14:00 29/05/20 18:00

Je pense que c'est dans la partie Case > 1 car si l'heure de début est comprise entre T1 et T2,
on rajoute une ligne avec T3 et T4.

En tout cas c'est très clair, merci je vais m'en inspirer lors de prochains codes.

Merci bcp de ta disponibilité Jean-Marie!

Paul
PMG
 

ChTi160

XLDnaute Barbatruc
Bonjour PMG
Bonjour le Fil ,le Forum

Une version modifiée (continues de regarder si tout est Ok !)

Bonne journée
Jean marie
 

Pièces jointes

  • Extraction_dates Chti160 6.xlsm
    44.7 KB · Affichages: 3

PMG

XLDnaute Junior
Bonjour ChTi160
Le Fil, Le Forum,

C'est parfait!
J'ai compté 7 possibilités et tout à l'air de fonctionner!

Simplement cette partie du code (si plusieurs jours), je ne la comprends pas. Est elle nécessaire?
Car tout fonctionne sans elle apparemment.
VB:
Case Dte = FirstDate And Hredebut >= T1 And Hredebut <= T2 And Hrefin >= T3 And Hrefin <= T4
x = x + 1
ReDim Preserve Tab_Recap(3, x)
Tab_Recap(1, x) = StrCode
Tab_Recap(2, x) = Format(Dte + T3, "mm/dd/yyyy hh:mm")
Tab_Recap(3, x) = Format(Dte + Hrefin, "mm/dd/yyyy hh:mm")

Un grand merci
Bonne journée
PMG
 

ChTi160

XLDnaute Barbatruc
Re
Supprime ! si tu as vérifié que ca ne sert a rien , je vais regarder Lol
EDIT : effectivement , j'ai du laisser cette partie , après l'avoir décomposée !
jean marie
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…