Problème Heure de midi (12h00) dans une Combobox

Ugodelires75
Messages postés
2
Date d'inscription
mardi 15 janvier 2019
Statut
Membre
Dernière intervention
16 janvier 2019
- 15 janv. 2019 à 22:48
Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
- 21 janv. 2019 à 09:34
Bonjour,

je suis en train de me construire un planning sur excel avec une mise à jour automatique de celui-ci.

Pour ce faire, je saisi un nouvel événement via un Userform où je saisi un Titre dans une textbox, une date, une heure de début et une heure de fin dans des combobox.

J'ai mis un code de contrôle sur la combobox d'heure de fin si elle est inférieure à l'heure de début.
Ce code fonctionne à merveille sauf pour 12h00 (où la combobox considère que c'est 0h00) et donc le message d'erreur s'affiche à chaque fois que je veux enregistrer un événement se finissant à 12h00.

Voici le code :

If CbXHeureFin <> "" And CbXHeureFin.Value < CbXHeureDeb Then
MsgBox "L'heure de fin doit être supérieure à l'heure de début !"
CbXHeureFin.Value = ""
End If
'CbXHeureFin est la Combobox d'heure de fin et CbXHeureDeb est la Combobox d'heure de début


Quelqu'un peut-il me dire comment résoudre ce problème ?
Merci par avance de votre aide

PS : je débute totalement sur un forum donc veuillez m'excuser si je ne m'y prend pas correctement pour poser ma question

3 réponses

jordane45
Messages postés
35405
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2022
356
16 janv. 2019 à 07:22
Bonjour,

Sous quel format entre tu tes heures dans la combo ?
Sous quel format sont tes heures dans CbXHeureDeb ?
Que contient ta variable CbXHeureDeb ?

par ce que là... j'ai l'impression que tu fais de la comparaison de text et non d'heures... d'où le souci....

1
Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
21
Modifié le 16 janv. 2019 à 10:41
Salut Jordane,

C'est plus qu'une impression, c'est une certitude, le contenu d'un combobox est toujours du texte.


Bonjour Ugodelires75

Essaies :
  If CbXHeureFin.Value <> "" And Val(CbXHeureFin.Value) < Val(CbXHeureDeb.Value) Then
    MsgBox "L'heure de fin doit être supérieure à l'heure de début !"
    CbXHeureFin.Value = ""
  End If


PS : « sauf pour 12h00 (où la combobox considère que c'est 0h00) » Non, un combobox n'interprète rien, c'est parfois le VBA lorsqu'on compare les torchons et les serviettes (à ne pas mélanger !).
Il faut systématiquement typer les valeurs et les variables pour éviter ce genre de désagrément.

Cordialement
Patrice
1
Ugodelires75
Messages postés
2
Date d'inscription
mardi 15 janvier 2019
Statut
Membre
Dernière intervention
16 janvier 2019

16 janv. 2019 à 16:08
Bonjour jordane45 et Patrice33740,

Merci pour vos réponses.

Patrice33740, j'ai appliqué ta petite correction mais, le problème existe toujours.

J'ai cependant trouvé une petite combine pour que mon test sur la combobox fonctionne :

comme j'alimente mes combobox pour les heures par des valeurs situées dans des cellules, pour 12h00, au lieu de taper 12:00:00 dans la cellule, j'ai entré 12:00:01 et le tour est joué.

Encore merci à vous d'avoir essayé de m'aider
0
Patrice33740
Messages postés
8549
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 mai 2022
21
21 janv. 2019 à 09:34
C'est curieux !
0