OVH Cloud OVH Cloud

ElseIf (reedite et suite)

13 réponses
Avatar
Nina
Bonjour a vous
Je re edite ma question sur mon If et ElseIf (suite message du 01/12/04
objet Elseif et methode sur condition)

En francais
ca donne si PreT = 0 ou 999 alors affiche PreT_NV (Pretraitement Non valide)
et n'affiche pas l'etiquette PreT_V (Pretraitement Valide) ET SI
Date_vidange >= 2000 alors affiche PReT_NV (Pretraitement Non valide) et
n'affiche pas l'etiquette PreT_V (Pretraitement Valide) sinon,
et affiche l'etiquette PreT_V (Pretraitement Valide) et pas l'etiquette
PreT_NV (Pretraitement Non valide)

=>ma condition du If... Then fonctionne , egalement le Else mais la
condition du ELseIf n'est pas respectée !!
Pourquoi ??? SVP allumez ma lanterne !!!!

EN VB
Private Sub Form_Current()

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
'date vidange
ElseIf Pret_Date_vidange >= 2000 Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False
End If

Pourquoi ca marche pas ???????
Nina

3 réponses

1 2
Avatar
Nina
oui le pret_type.value =7 est commenté car ne fonctionne pas sinon c'est
bien

ETQ_T_NV.Visible = (Pret_Type.Value = 1 And Trait_FTE = 0 Or
IsNull(Trait_FTE)) _
And (Pret_Type.Value = 2 And Trait_FS = 0 Or IsNull(Trait_FS) Or
Trait_EM = 0 _
Or IsNull(Trait_EM)) And (Pret_Type.Value = 3 And Trait_EV = 0 Or _
IsNull(Trait_EV) Or Trait_EM = 0 Or IsNull(Trait_EM)) And
(Pret_Type.Value = 5 _
And Trait_EV = 0 Or IsNull(Trait_EV) Or Trait_EM = 0 Or
IsNull(Trait_EM)) And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible

Mais le cas 7 ne fonctionne pas ??
Merci de votre aide

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
si copier coller; il y a ' bizarre
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Nina" a écrit dans le message de
news:
Bonjour

J'avais un peu abandonner mes étiquettes...me revoila et ca marche pas
encore comme je le souhaite voila ce qui marche :

'si PreT est inexistant ou sans info ou vidange de plus de 4 ans
ETQ_PreT_NV.Visible = Pret_Type.Value = 0 Or Pret_Type.Value = 999 Or _
Pret_Type.Value = 9 Or Pret_Date_vidange < 2000 Or
IsNull(Pret_Date_vidange)
ETQ_PreT_V.Visible = Not ETQ_PreT_NV.Visible

'Pretraitement variable
ETQ_T_NV.Visible = (Pret_Type.Value = 1 And Trait_FTE = 0 Or
IsNull(Trait_FTE)) _
And (Pret_Type.Value = 2 And Trait_FS = 0 Or IsNull(Trait_FS) Or
Trait_EM = 0 _
Or IsNull(Trait_EM)) And (Pret_Type.Value = 3 And Trait_EV = 0 Or _
IsNull(Trait_EV) Or Trait_EM = 0 Or IsNull(Trait_EM)) And
(Pret_Type.Value = 5 _
And Trait_EV = 0 Or IsNull(Trait_EV) Or Trait_EM = 0 Or
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible

=>Quand j'ajoute le critère 7 (alors qu'il est semblable aux autres, ca
marche pas)...
=>j'ai un probleme avec mes criteres 4 et 6 pour qui ETQ_T_V.Visible =
true
est toujours vrai...et j'arrive pas
a l'ecrire, si vous pouvez m'aider SVP
=> ja'i essayer de l'ecrire avec des If Then Else et c'est encore
pire...pour info ca donne ca :

If Pret_Type.Value = 2 And ((Trait_FS = 0)) Or (IsNull(Trait_FS)) Or
(Trait_EM = 0) Or (IsNull(Trait_EM))) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
ElseIf
Pret_Type.Value = 3 And (Trait_EV = 0) Or (Trait_EV Is Nothing) Or
(Trait_EM
= 0) Or (Trait_EM Is Nothing) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
Else
ETQ_T_V.Visible = True And ETQ_T_V.Visible = False
End If

Au secours !!
Nina

"Ghislain" a écrit dans le message
de
news: 217301c4d87d$bd589fb0$
Si
ME![Pret NV].visibleúlse




-----Message d'origine-----
Ok et merci a vous mais dans ce cas je ne gere pas "en
dur" les Visible >> >false, donc il faut prevoir l'ensemble des cas ou je

veux mon etiquette
visible et pas Vrai / Faux.
Me![Pret NV].nonvisible n'existe pas ??

Encore merci, je vais essayer comme ca !
Nina


"Ghislain" a écrit
dans le message de

news: 207601c4d858$bd2dbef0$
SAlut,

Je t avais donner une reponse hier et j'ai teste aujourd
hui mon code avec tes conditons (C est d ailleurs le meme
que Gilbert) et a marche tres bien :

Note que la propriete Visble des champs Pret NV et Pret
TV doit etre sur "Non"...

Code pour afficher Pret NV:

Me![Pret NV].visible=((Me![Pret]=0)and(Me![Pret]™9))Or
(Me![Date Vidange]> 00)

Voila, tu copie ce code sur les proprietes:
On current de ton formulaire
After Update de ton champs Pret
After Update de ton champs Date Vidange

Et tout marche comme tu le souhaite, Surtout si tu en as
beaucoup a faire comme ca c'est vraiment le code a
utiliser.
A+




-----Message d'origine-----
Trop fort Patrice et merci, je vais retourner prendre
des cours non pas de

VB mais d'anglais ( ou peut etre les deux !!)
SI je veux imbriquer des conditions je dois les mettre a
la suite comme ca

?? =>

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange >= 2000

Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False

N'existe t il pas une autre methode
plus "jolie" , "maline" ???

(Cf post du 01/12/04 objet Elseif et methode sur
condition) car des If Then

j'en ai bcp, bcp, bcp !!
N.


"Patrice" a écrit
dans le message de

news: 96EBBA05-14F0-4ACE-9172-


bonjour,

Elseif =sinon

Si la première condition est respectée, le système ne
teste pas le elseif,


ce n'est que ds le cas ou le if n'est pas honoré.


Bonjour a vous
Je re edite ma question sur mon If et ElseIf (suite
message du 01/12/04



objet Elseif et methode sur condition)

En francais
ca donne si PreT = 0 ou 999 alors affiche PreT_NV
(Pretraitement Non



valide)
et n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) ET SI



Date_vidange >= 2000 alors affiche PReT_NV
(Pretraitement Non valide) et



n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) sinon,



et affiche l'etiquette PreT_V (Pretraitement Valide)
et pas l'etiquette



PreT_NV (Pretraitement Non valide)

=>ma condition du If... Then fonctionne , egalement
le Else mais la



condition du ELseIf n'est pas respectée !!
Pourquoi ??? SVP allumez ma lanterne !!!!

EN VB
Private Sub Form_Current()

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange > >> >>>> 2000 Then



ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
'date vidange
ElseIf Pret_Date_vidange >= 2000 Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False
End If

Pourquoi ca marche pas ???????
Nina







.




.














Avatar
Pierre CFI [mvp]
.../...
je viens de reprendre, mais je me mélange un peu les yeux avec les ( )
donc à demain

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour
si copier coller; il y a ' bizarre
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Nina" a écrit dans le message de news:
Bonjour

J'avais un peu abandonner mes étiquettes...me revoila et ca marche pas
encore comme je le souhaite voila ce qui marche :

'si PreT est inexistant ou sans info ou vidange de plus de 4 ans
ETQ_PreT_NV.Visible = Pret_Type.Value = 0 Or Pret_Type.Value = 999 Or _
Pret_Type.Value = 9 Or Pret_Date_vidange < 2000 Or
IsNull(Pret_Date_vidange)
ETQ_PreT_V.Visible = Not ETQ_PreT_NV.Visible

'Pretraitement variable
ETQ_T_NV.Visible = (Pret_Type.Value = 1 And Trait_FTE = 0 Or
IsNull(Trait_FTE)) _
And (Pret_Type.Value = 2 And Trait_FS = 0 Or IsNull(Trait_FS) Or
Trait_EM = 0 _
Or IsNull(Trait_EM)) And (Pret_Type.Value = 3 And Trait_EV = 0 Or _
IsNull(Trait_EV) Or Trait_EM = 0 Or IsNull(Trait_EM)) And
(Pret_Type.Value = 5 _
And Trait_EV = 0 Or IsNull(Trait_EV) Or Trait_EM = 0 Or
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible

=>Quand j'ajoute le critère 7 (alors qu'il est semblable aux autres, ca
marche pas)...
=>j'ai un probleme avec mes criteres 4 et 6 pour qui ETQ_T_V.Visible = true
est toujours vrai...et j'arrive pas
a l'ecrire, si vous pouvez m'aider SVP
=> ja'i essayer de l'ecrire avec des If Then Else et c'est encore
pire...pour info ca donne ca :

If Pret_Type.Value = 2 And ((Trait_FS = 0)) Or (IsNull(Trait_FS)) Or
(Trait_EM = 0) Or (IsNull(Trait_EM))) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
ElseIf
Pret_Type.Value = 3 And (Trait_EV = 0) Or (Trait_EV Is Nothing) Or (Trait_EM
= 0) Or (Trait_EM Is Nothing) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
Else
ETQ_T_V.Visible = True And ETQ_T_V.Visible = False
End If

Au secours !!
Nina

"Ghislain" a écrit dans le message de
news: 217301c4d87d$bd589fb0$
Si
ME![Pret NV].visibleúlse




-----Message d'origine-----
Ok et merci a vous mais dans ce cas je ne gere pas "en
dur" les Visible > > >false, donc il faut prevoir l'ensemble des cas ou je

veux mon etiquette
visible et pas Vrai / Faux.
Me![Pret NV].nonvisible n'existe pas ??

Encore merci, je vais essayer comme ca !
Nina


"Ghislain" a écrit
dans le message de

news: 207601c4d858$bd2dbef0$
SAlut,

Je t avais donner une reponse hier et j'ai teste aujourd
hui mon code avec tes conditons (C est d ailleurs le meme
que Gilbert) et a marche tres bien :

Note que la propriete Visble des champs Pret NV et Pret
TV doit etre sur "Non"...

Code pour afficher Pret NV:

Me![Pret NV].visible=((Me![Pret]=0)and(Me![Pret]™9))Or
(Me![Date Vidange]> 00)

Voila, tu copie ce code sur les proprietes:
On current de ton formulaire
After Update de ton champs Pret
After Update de ton champs Date Vidange

Et tout marche comme tu le souhaite, Surtout si tu en as
beaucoup a faire comme ca c'est vraiment le code a
utiliser.
A+




-----Message d'origine-----
Trop fort Patrice et merci, je vais retourner prendre
des cours non pas de

VB mais d'anglais ( ou peut etre les deux !!)
SI je veux imbriquer des conditions je dois les mettre a
la suite comme ca

?? =>

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange >= 2000

Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False

N'existe t il pas une autre methode
plus "jolie" , "maline" ???

(Cf post du 01/12/04 objet Elseif et methode sur
condition) car des If Then

j'en ai bcp, bcp, bcp !!
N.


"Patrice" a écrit
dans le message de

news: 96EBBA05-14F0-4ACE-9172-


bonjour,

Elseif =sinon

Si la première condition est respectée, le système ne
teste pas le elseif,


ce n'est que ds le cas ou le if n'est pas honoré.


Bonjour a vous
Je re edite ma question sur mon If et ElseIf (suite
message du 01/12/04



objet Elseif et methode sur condition)

En francais
ca donne si PreT = 0 ou 999 alors affiche PreT_NV
(Pretraitement Non



valide)
et n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) ET SI



Date_vidange >= 2000 alors affiche PReT_NV
(Pretraitement Non valide) et



n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) sinon,



et affiche l'etiquette PreT_V (Pretraitement Valide)
et pas l'etiquette



PreT_NV (Pretraitement Non valide)

=>ma condition du If... Then fonctionne , egalement
le Else mais la



condition du ELseIf n'est pas respectée !!
Pourquoi ??? SVP allumez ma lanterne !!!!

EN VB
Private Sub Form_Current()

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange > > > >>>> 2000 Then



ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
'date vidange
ElseIf Pret_Date_vidange >= 2000 Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False
End If

Pourquoi ca marche pas ???????
Nina







.




.














Avatar
Nina
Merci par avance pour ton aide
N.


"Pierre CFI [mvp]" a écrit dans le message de
news: %23%
.../...
je viens de reprendre, mais je me mélange un peu les yeux avec les ( )
donc à demain

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
si copier coller; il y a ' bizarre
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Nina" a écrit dans le message de
news:
Bonjour

J'avais un peu abandonner mes étiquettes...me revoila et ca marche pas
encore comme je le souhaite voila ce qui marche :

'si PreT est inexistant ou sans info ou vidange de plus de 4 ans
ETQ_PreT_NV.Visible = Pret_Type.Value = 0 Or Pret_Type.Value = 999 Or _
Pret_Type.Value = 9 Or Pret_Date_vidange < 2000 Or
IsNull(Pret_Date_vidange)
ETQ_PreT_V.Visible = Not ETQ_PreT_NV.Visible

'Pretraitement variable
ETQ_T_NV.Visible = (Pret_Type.Value = 1 And Trait_FTE = 0 Or
IsNull(Trait_FTE)) _
And (Pret_Type.Value = 2 And Trait_FS = 0 Or IsNull(Trait_FS) Or
Trait_EM = 0 _
Or IsNull(Trait_EM)) And (Pret_Type.Value = 3 And Trait_EV = 0 Or _
IsNull(Trait_EV) Or Trait_EM = 0 Or IsNull(Trait_EM)) And
(Pret_Type.Value = 5 _
And Trait_EV = 0 Or IsNull(Trait_EV) Or Trait_EM = 0 Or
IsNull(Trait_EM)) ' And _
(Pret_Type.Value = 7 And IsNull(Trait_EM) Or Trait_EM = 0)
ETQ_T_V.Visible = Not ETQ_T_NV.Visible

=>Quand j'ajoute le critère 7 (alors qu'il est semblable aux autres, ca
marche pas)...
=>j'ai un probleme avec mes criteres 4 et 6 pour qui ETQ_T_V.Visible =
true
est toujours vrai...et j'arrive pas
a l'ecrire, si vous pouvez m'aider SVP
=> ja'i essayer de l'ecrire avec des If Then Else et c'est encore
pire...pour info ca donne ca :

If Pret_Type.Value = 2 And ((Trait_FS = 0)) Or (IsNull(Trait_FS)) Or
(Trait_EM = 0) Or (IsNull(Trait_EM))) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
ElseIf
Pret_Type.Value = 3 And (Trait_EV = 0) Or (Trait_EV Is Nothing) Or
(Trait_EM
= 0) Or (Trait_EM Is Nothing) Then
ETQ_T_NV.Visible = True And ETQ_T_V.Visible = False
Else
ETQ_T_V.Visible = True And ETQ_T_V.Visible = False
End If

Au secours !!
Nina

"Ghislain" a écrit dans le
message de
news: 217301c4d87d$bd589fb0$
Si
ME![Pret NV].visibleúlse




-----Message d'origine-----
Ok et merci a vous mais dans ce cas je ne gere pas "en
dur" les Visible >> > >false, donc il faut prevoir l'ensemble des cas ou je

veux mon etiquette
visible et pas Vrai / Faux.
Me![Pret NV].nonvisible n'existe pas ??

Encore merci, je vais essayer comme ca !
Nina


"Ghislain" a écrit
dans le message de

news: 207601c4d858$bd2dbef0$
SAlut,

Je t avais donner une reponse hier et j'ai teste aujourd
hui mon code avec tes conditons (C est d ailleurs le meme
que Gilbert) et a marche tres bien :

Note que la propriete Visble des champs Pret NV et Pret
TV doit etre sur "Non"...

Code pour afficher Pret NV:

Me![Pret NV].visible=((Me![Pret]=0)and(Me![Pret]™9))Or
(Me![Date Vidange]> 00)

Voila, tu copie ce code sur les proprietes:
On current de ton formulaire
After Update de ton champs Pret
After Update de ton champs Date Vidange

Et tout marche comme tu le souhaite, Surtout si tu en as
beaucoup a faire comme ca c'est vraiment le code a
utiliser.
A+




-----Message d'origine-----
Trop fort Patrice et merci, je vais retourner prendre
des cours non pas de

VB mais d'anglais ( ou peut etre les deux !!)
SI je veux imbriquer des conditions je dois les mettre a
la suite comme ca

?? =>

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange >= 2000

Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False

N'existe t il pas une autre methode
plus "jolie" , "maline" ???

(Cf post du 01/12/04 objet Elseif et methode sur
condition) car des If Then

j'en ai bcp, bcp, bcp !!
N.


"Patrice" a écrit
dans le message de

news: 96EBBA05-14F0-4ACE-9172-


bonjour,

Elseif =sinon

Si la première condition est respectée, le système ne
teste pas le elseif,


ce n'est que ds le cas ou le if n'est pas honoré.


Bonjour a vous
Je re edite ma question sur mon If et ElseIf (suite
message du 01/12/04



objet Elseif et methode sur condition)

En francais
ca donne si PreT = 0 ou 999 alors affiche PreT_NV
(Pretraitement Non



valide)
et n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) ET SI



Date_vidange >= 2000 alors affiche PReT_NV
(Pretraitement Non valide) et



n'affiche pas l'etiquette PreT_V (Pretraitement
Valide) sinon,



et affiche l'etiquette PreT_V (Pretraitement Valide)
et pas l'etiquette



PreT_NV (Pretraitement Non valide)

=>ma condition du If... Then fonctionne , egalement
le Else mais la



condition du ELseIf n'est pas respectée !!
Pourquoi ??? SVP allumez ma lanterne !!!!

EN VB
Private Sub Form_Current()

'si PreT es enexistant ou sans info
If Pret_Type.Value = 0 Or Pret_Type.Value = 999 OR
Pret_Date_vidange > >> > >>>> 2000 Then



ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True
'date vidange
ElseIf Pret_Date_vidange >= 2000 Then
ETQ_PreT_V.Visible = False
ETQ_PreT_NV.Visible = True

Else ETQ_PreT_V.Visible = True
ETQ_PreT_NV.Visible = False
End If

Pourquoi ca marche pas ???????
Nina







.




.


















1 2