Type de valeur d'une condition
Résolu
Bonjour,
Lorsque je positionne un espion sur cette condition j'obtient le chiffre 43568
à la place de vrai.
La valeur de txtDateDépart est 13/04/2019 et Cocher97 est bien -1
Est ce que ma condition est correct ?
Merci pour votre aide.
Salutations
Lorsque je positionne un espion sur cette condition j'obtient le chiffre 43568
à la place de vrai.
If Nz(Me.txtDateDepart.Value, "") And Me.Cocher97 = -1 Then
La valeur de txtDateDépart est 13/04/2019 et Cocher97 est bien -1
Est ce que ma condition est correct ?
Merci pour votre aide.
Salutations
5 réponses
-
Contributeurbonjour,
si tu n'as pas de message d'erreur, je dirais que ton code est correct.
si tu ne nous expliques pas ce que tu veux vérifier dans le if, il nous est difficile de te dire si ton code fait ce que tu souhaites.
peux-être veux-tu obtenir ceci?If (Not IsNull(Me.txtDateDepart.Value)) And (Me.Cocher97 = -1) Then
-
Bonsoir,
Merci pour la réponse.
Lorsque le txtDateDépart contient une date et la case cocher97 =-1 (cochée )
la condition est vrai, et mon message s'affiche.
Salutations -
Bonjour
Ta condition semble bonne, c'est le format d'affichage qui ne l'est pas. 43568 correspond bien au 13/4/2019, mais affiché au format nombre au lieu du format date.
D'après les règles de conversion de VBA, dans un AND entre une valeur numérique et true ( car (Me.Cocher97 = -1) vaut true), le true est converti en -1. Et un And avec -1 ne modifie pas un nombre : il est normal que l'ensemble de la condition soit égale à ce nombre. -
Bonjour,
Merci pour la réponse.
Oui mais lorsque le champ date est vide et la case à cocher = 0
J'ai une incompatibilité de type et cela m'empêche de faire un else.
Comment faire ?
Salutations-
Je t'ai juste expliqué pourquoi la valeur que tu observais était celle là. Je n'aurais pas dû te dire qu'elle semblait bonne sans chercher plus loin.
Suis la piste proposée par yg_be.
C'est étonnant qu'elle ne marche pas, as-tu fait deux if séparés - un sur chaque condition - pour voir quel est le 'membre de méthode ou donnée introuvable ?
-
-
Bonjour yg_be,
Désolé j'ai zappé ta réponse, mais avec:
IsDate(Me.txtDateDepart.Value) And (Me.Cocher97 = -1)
J'obtient un impossible de compilé, membre de méthode ou donnée introuvable.
Salutations.