Macro condition mais avec des heures

Meloman

XLDnaute Occasionnel
Bonsoir à tous

je peche sur un probleme de condition qui bug j'ai tenté d'écrire cette macro

Code:
If CDate(B7) >= "08:00" And CDate(B8) <= "12:00" Then B3 = "MATIN"


ElseIf CDate(B7) > "13:00" And CDate(B8) < "19:00" Then B3 = "Apres-Midi"

ElseIf CDate(B7) > "19:00" And CDate(B8) < "07:00" Then B3 = "Soir"
End If

mais il fais pas ce que je lui demande
je souhaite si l'heure present en B7 et B8 est dans la plage horaire de 08:00 et 12:00 en B3 s'affiche matin et de meme pour l'apres midi et le soir je pense pas être loin de la solution mais j'arrive pas pouvez vous m'aider svp merci
 

kjin

XLDnaute Barbatruc
Re : Macro condition mais avec des heures

Bonjour,
Je ne pouvais pas deviner qu'il s'agissait de contrôles d'un usf !
Note qu'il faut multiplier par 24 plutôt que diviser, c'est mieux !
Code:
Private Sub B7_Change()
alim_B3
End Sub

Private Sub B8_Change()
alim_B3
End Sub

Sub alim_B3()
If B7 = "" Or B8 = "" Then Exit Sub
B3 = ""
deb = CDate(B7) * 24
fin = CDate(B8) * 24
If deb >= 8 And deb < 12 And fin <= 12 And fin > deb Then B3 = "MATIN"
If deb >= 13 And deb < 19 And fin <= 19 And fin > deb Then B3 = "APRES-MIDI"
If deb >= 19 And deb <= 23 Then
    If fin >= 0 And fin <= 8 Then B3 = "SOIR"
    If fin > 19 And fin <= 23 And fin > deb Then B3 = "SOIR"
End If
If deb >= 0 And deb <= 8 Then
    If fin > 0 And fin <= 8 And fin > deb Then B3 = "SOIR"
End If
End Sub
Si tu nous expliquais le but de la manoeuvre on pourrait sans doute simplifier
A+
kjin
 

Meloman

XLDnaute Occasionnel
Re : Macro condition mais avec des heures

Bonjour kjin j'aurais dût mieux m'expliquer donc tous fonctionne parfaitement bon but finale seras incrementation dans un groupe de collone Matin Apres-midi et soir en tous cas tous fonctionne parfaitement encore un grand merci
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T