Opération sur des heures si elles sont dans un créneau définie dans labels

Résolu
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir
je cherche a faire des opérations sur des heures uniquement si elles sont dans un créneau définie entre 21:00<= et >=05:00
dans des labels
exemple : labels a ="20:00" - labels b ="02:00" résulta labels c ="03:00"
si vous avez une solution merci

7 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, peut-être pourrais-tu nous montrer ton code VBA, et, en passant, nous expliquer comment tu arrives à 3h, en prenant ton crénom en considération.
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Re

Oui pardon il faut pendre en compte: résulta labels c ="05:00"
Cordialement
Sub Test()
Dim H1 As Date
Dim H2 As Date
H1 = CDate(Labela.Caption)
H2 = CDate(Labelb.Caption)
If H1 > Format((CDate("21:00") + 1), "hh:mm") And H2 < Format((CDate("05:00") +1), "hh:mm")Then
Labelc.Caption = Format(H2 - H1 + 1, "hh:mm")
End If
End Sub
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu n'as pas expliqué comment tu arrivais au résultat de 5h.
pour t'aider à comprendre ce que fait le code que tu as écrit, je propose que tu testes ceci:
Sub Test()
  Dim H1 As Date
  Dim H2 As Date, S As String
  H1 = CDate("20:00")
  H2 = CDate("1/1/1 3:00")
  If H1 > CDate("21:00") Then
    If H2 < CDate("05:00") Then
      S = Format(H2 - H1 + 1, "hh:mm")
    Else
       S = " H2 hors créneau"
     End If
    Else
        S = " H1 hors créneau"
    End If
    Debug.Print S
End Sub

pour t'aider à comprendre comment résoudre cet exercice, je propose que tu travailles (papier et crayon) sur d'autres exemples, et que tu détailles comment tu arrives au résultat attendu.
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
5h00 est la somme de heures de 20h00 a 02h00 le jour suivant qui sont dans le créneau entre 20h00 et 02h00 le jour suivant
ton test démontre la discrimination dans le créneau
comment je peux récupérer dans le caption du Label c la somme des heures de la discrimination quel que soit les heures saisie
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu fais de belles phrases avec de beaux mots.
si tu veux arriver à écrire un programme, il faut, peut-être à partir d'exemples, réfléchir concrètement à comment obtenir le résultat attendu.
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

a tu une piste pour m'orienter dans la bonne direction
Cordialement
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
à partir d'exemples, réfléchis concrètement comment obtenir le résultat attendu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
re

exemple :
_ Label a = 20:00
_ Label b = 02:00
créneau = 21:00 _ 05:00
dans Label c la somme des heures dans Label a et Label b uniquement si les heures sont
comprise dans le créneau
donc
Label b - Label a = Label c
- de 20:00 a 21:00 hors créneau donc non calculer
- de 21:00 a 00:00 = 03:00 et de 00:00 a 02:00 = 02:00
03:00 + 02:00 = 05:00
Label c = 05:00
j’espère être suffisamment explicite
Cordialement
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
il y a plusieurs erreurs dans le calcul, et il n'est pas assez précis.
ce n'est qu'un exemple, je suggère d'en faire plusieurs, pour que tu maîtrises bien les différentes possibilités.
ensuite, quand tu auras bien compris, tu pourras commencer à réfléchir comment le programmer.
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
re
j'ai corriger les deux erreurs
je ne vois pas comment être plus précis
ma demande consiste juste a comment récupérer le resultat de la discrimination
dans un troisième label
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
je comprends bien ce que tu veux obtenir, et je pense que tu peux réaliser cela toi-même.
0
pyrus2047 Messages postés 153 Date d'inscription   Statut Membre Dernière intervention  
 
Re
MERCI
Voici ma solution

UserForm1.Labelc.Caption = S
0