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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 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 38195 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 mai 2024 344
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 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.

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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
21 janv. 2019 à 09:34
C'est curieux !
0
Rejoignez-nous