Type de valeur d'une condition [Résolu/Fermé]

Signaler
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
-
Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
-
Bonjour,

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

Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704
bonjour,
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
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020

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
Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704
ce que tu décris, c'est ce que tu souhaites, ou ce que tu observes?
alors ainsi:
If isdate(Me.txtDateDepart.Value) And (Me.Cocher97 = -1) Then

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.
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020

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
Utilisateur anonyme
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 ?
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020

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.
Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704
depart ou départ?
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
>
Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020

Bonsoir,

C’est vraiment bête de ma part cette erreur, c’est bien Départ qu’il fallait mettre.

Salutations
Messages postés
12712
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 octobre 2020
704 >
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020

peux-tu alors marquer le sujet comme résolu, via la roue dentée à droite du titre?