Test sur trois valeurs
Fermé
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
-
3 oct. 2017 à 20:52
jadami Messages postés 103 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 18 septembre 2020 - 5 oct. 2017 à 20:38
jadami Messages postés 103 Date d'inscription mercredi 14 mars 2007 Statut Membre Dernière intervention 18 septembre 2020 - 5 oct. 2017 à 20:38
A voir également:
- Test sur trois valeurs
- Test performance pc - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Test performance pc gratuit - Accueil - Utilitaires
- Test hdd - Télécharger - Informations & Diagnostic
5 réponses
jordane45
Messages postés
38424
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 février 2025
4 734
3 oct. 2017 à 21:05
3 oct. 2017 à 21:05
Bonjour
As tu essayé de regrouper tes conditions avec des parenthèses ?
As tu essayé de regrouper tes conditions avec des parenthèses ?
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
Modifié le 3 oct. 2017 à 22:49
Modifié le 3 oct. 2017 à 22:49
bonsoir, pourquoi n'expliques-tu pas ce que tu obtiens?
peut-être en faisant:
peut-être en faisant:
If Me.txtMillLicence > 2018 Or IsNull(txtMillLicence) Or Me.txtDateDépart <> "" Or IsNull(txtDateDépart) Or Not Me.Cocher97 Then
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
4 oct. 2017 à 00:33
4 oct. 2017 à 00:33
Bonsoir,
Merci pour vos réponses.
En faisant la ligne de code j'ai un message dans tous les cas de figure.
je joins des images des différents cas que j'aimerai traiter
Cas 1 et Cas 2 aucun message ne doit apparaître.
Cas 3 Cas 4 et Cas 5 Un message d'anomalie doit apparaître.![](https://img-19.ccm2.net/Pl0f8EGxKhA3_Z5cyNBL6oNRi9A=/bec9e9be987047ec93cc85190d9f8b89/ccm-ugc/Cas_1.PNG)
![](https://img-19.ccm2.net/qtJ8aSWgjtXHLUHMYXlDohCpLUQ=/3a568d34e3c64e189d06da9baeeef73b/ccm-ugc/Cas_2.PNG)
![](https://img-19.ccm2.net/g9uikbn0EoacJ7rKaBKB6hrgTAo=/bd7912bb7ed648a594ef86ec7d935d14/ccm-ugc/Cas_3.PNG)
![](https://img-19.ccm2.net/MMXTSoIu7mg_TA7fJqzMaTG4JDg=/8c33f7eb6151465a91dacb3b33df2bc3/ccm-ugc/Cas_4.PNG)
![](https://img-19.ccm2.net/DdvIJdh-Xr0raWOlBdZ2Sau-uTA=/a9cfb53ad3264559b69fcf5b831f7fad/ccm-ugc/Cas_5.PNG)
Salutations
Merci pour vos réponses.
En faisant la ligne de code j'ai un message dans tous les cas de figure.
je joins des images des différents cas que j'aimerai traiter
Cas 1 et Cas 2 aucun message ne doit apparaître.
Cas 3 Cas 4 et Cas 5 Un message d'anomalie doit apparaître.
Salutations
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
4 oct. 2017 à 07:26
4 oct. 2017 à 07:26
tes exemples me semblent en contradiction avec ton explication de départ.
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
4 oct. 2017 à 08:56
4 oct. 2017 à 08:56
Désolé, toutes mes excuses, mais j'ai dû mal expliquer la problématique.
Cependant les exemples sont des cas réels que je voudrais résoudre.
Salutations
Cependant les exemples sont des cas réels que je voudrais résoudre.
Salutations
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
1 568
>
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
4 oct. 2017 à 11:52
4 oct. 2017 à 11:52
des exemples ne suffisent pas à décrire ce que tu veux obtenir.
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
>
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
4 oct. 2017 à 12:56
4 oct. 2017 à 12:56
Bien je vais essayer cette description:
A partir de mon formulaire je sélectionne sur une liste déroulante un adhérent.
Si pour celui-ci :
Cas 1
la case MilLicence =2018, que la case départ n'est pas cochée et la Date de départ est vide, alors cet adhérent s'affiche.
Cas 2
la case MilLicence <>2018, que la case départ est cochée et la Date de départ est renseignée, alors cet adhérent s'affiche.
Cas 3
la case MilLicence = 2018, que la case départ est cochée et la Date de départ est vide alors, pour cet adhérent doit s'afficher un message qui signale une anomalie (La case départ et cocher).
Cas 4
la case MilLicence = Vide que la case départ est cochée et la Date de départ est vide alors, pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide, date départ vide).
Cas 5
la case MilLicence <> 2018 que la case départ n'est pas cochée et la Date de départ est renseignée, alors pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide , date départ vide).
Cas 6
Les trois champs sont vides, alors pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide , date départ vide case départ décochée).
Salutations
A partir de mon formulaire je sélectionne sur une liste déroulante un adhérent.
Si pour celui-ci :
Cas 1
la case MilLicence =2018, que la case départ n'est pas cochée et la Date de départ est vide, alors cet adhérent s'affiche.
Cas 2
la case MilLicence <>2018, que la case départ est cochée et la Date de départ est renseignée, alors cet adhérent s'affiche.
Cas 3
la case MilLicence = 2018, que la case départ est cochée et la Date de départ est vide alors, pour cet adhérent doit s'afficher un message qui signale une anomalie (La case départ et cocher).
Cas 4
la case MilLicence = Vide que la case départ est cochée et la Date de départ est vide alors, pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide, date départ vide).
Cas 5
la case MilLicence <> 2018 que la case départ n'est pas cochée et la Date de départ est renseignée, alors pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide , date départ vide).
Cas 6
Les trois champs sont vides, alors pour cet adhérent doit s'afficher un message qui signale une anomalie (MilLence vide , date départ vide case départ décochée).
Salutations
yg_be
Messages postés
23471
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
15 février 2025
Ambassadeur
1 568
Modifié le 4 oct. 2017 à 19:33
Modifié le 4 oct. 2017 à 19:33
je te suggère de commencer par ceci:
If (Me.txtMillLicence = 2018 and (Me.txtDateDépart = "" Or IsNull(Me.txtDateDépart)) And not Me.Cocher97 ) or (Me.txtMillLicence <> 2018 and Me.txtDateDépart <> "" And Me.Cocher97 ) then 'c'est bon else 'ah non end if
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jadami
Messages postés
103
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
18 septembre 2020
5 oct. 2017 à 20:38
5 oct. 2017 à 20:38
Bonsoir,
Je joins ces lignes de code qui me permettent de résoudre les six cas.
Je pense qu’on pourrait supprimer le 1er if des cas 1 et 2 car si c’est ok je n’ai aucune action à faire ?
Est-ce que le code pourrait être amélioré ?
De même je voudrais faire les mêmes tests à l’ouverture du formulaire en parcourant les enregistrements : est-ce faisable ? et est-ce que je dois ouvrir un autre post ?
Salutations
Je joins ces lignes de code qui me permettent de résoudre les six cas.
'--- teste sur MillLicence, Case départ et la Date départ
'Cas 1 ou 2 On ne fait rien
If (Me.txtMillLicence = 2018 And (Me.txtDateDépart = "" Or IsNull(Me.txtDateDépart)) And Me.Cocher97 = 0) _
Or _
(Me.txtMillLicence <> 2018 And Me.txtDateDépart <> "" And Me.Cocher97 = -1) Then
MsgBox "1 ou 2 cas"
'Cas 3
ElseIf (Me.txtMillLicence = 2018 And (Me.txtDateDépart = "" Or IsNull(Me.txtDateDépart)) And Me.Cocher97 = -1) Then
Call MessageAnomalie
Exit Sub
'Cas 4
ElseIf (IsNull(txtMillLicence) And (Me.txtDateDépart <> "" Or IsNull(Me.txtDateDépart)) And Me.Cocher97 = -1) Then
Call MessageAnomalie
Exit Sub
'Cas 5
ElseIf (Me.txtMillLicence <> 2018 And Me.txtDateDépart <> "" And Me.Cocher97 = 0) Then
Call MessageAnomalie
Exit Sub
'Cas 6
ElseIf (IsNull(txtMillLicence) And (Me.txtDateDépart <> "" Or IsNull(Me.txtDateDépart)) And Me.Cocher97 = 0) Then
Call MessageAnomalie
Exit Sub
End If
Sub MessageAnomalie()
Dim strMessage As String
'--- Boite de dialogue par Api
reponse = MessageBox(Me.hwnd, "Il y à une anomalie sur cette fiche. " _
& vbCrLf & vbCrLf & "Veuillez vérifier les champs : ? " _
& vbCrLf & vbCrLf & "MilLicence : " & Me.txtMillLicence _
& vbCrLf & "Date de Départ : " & Me.txtDateDépart _
& vbCrLf & "Départ : " & Me.Cocher97 & " " & " ( -1 = COCHER ou DEPART *** 0 = NON COCHER ou PRESENT )", _
ap_AppTitle(), MB_OK + MB_ICONEXCLAMATION)
If Not reponse = vbYes Then
strMessage = "Anomalie sur la fiche"
Me.lblMessage.Caption = strMessage
Me.lblMessage2.Caption = strMessage
End If
End Sub
Je pense qu’on pourrait supprimer le 1er if des cas 1 et 2 car si c’est ok je n’ai aucune action à faire ?
Est-ce que le code pourrait être amélioré ?
De même je voudrais faire les mêmes tests à l’ouverture du formulaire en parcourant les enregistrements : est-ce faisable ? et est-ce que je dois ouvrir un autre post ?
Salutations