Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1515 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  conditions And dans les If

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

conditions And dans les If

n°1525515
20stylz
Posté le 07-03-2007 à 19:13:43  profilanswer
 

Bonjour à tous,
 
J'ai une question au sujet des If en VB :
 
Y a t il un moyen pour que les If se comportent comme dans les autres languages basés sur le C notamment, c'est-à-dire que dans une instruction du style : If not monObjet is nothing And monObjet.xx = xx Then ... la seconde condition ne soit pas testée si la première est fausse.
 
Cette instruction plantera en VB si l'objet n'existe pas car le test sur la propriété plantera. Par contre l'équivalent en C++ ou en java ne plantera pas car si l'objet n'existe pas la seconde condition ne sera pas testée.
 
Je ne sais pas si j'ai été clair mais en tous cas merci de vos réponses et désolé si la question a déjà été posée.

mood
Publicité
Posté le 07-03-2007 à 19:13:43  profilanswer
 

n°1525520
ingenieurc​esi
Posté le 07-03-2007 à 19:30:09  profilanswer
 

if not monObjet is nothing then
    if monObjet.xx=xx then
    'tu fais ce que tu veux
    end if
else
'goto fin
end if
'fin:
end sub
 
'goto fin et fin: peuvent peut etre te servir  
 
j'espere que ca te vas
 

n°1525535
20stylz
Posté le 07-03-2007 à 20:19:02  profilanswer
 

Oui c'est bien ce que je pensais il faut imbriquer 2 If c'est ça que je trouve dommage car ça fait repeter 2 fois l'instruction Else.
 
Par contre j'avais pas pensé aux goto pour éviter justement de répeter 2 fois le Else.
Mais bon ça serait quand meme plus propre avec un seul If.

n°1525536
ingenieurc​esi
Posté le 07-03-2007 à 20:20:20  profilanswer
 

et avec les Select Case ca peut le faire aussi

n°1525744
le_relou
Posté le 08-03-2007 à 11:28:08  profilanswer
 

non la seul solution c'est les if imbriquer  
tu peut pas fair un case la dessus

n°1525776
jpcheck
Pioupiou
Posté le 08-03-2007 à 13:11:59  profilanswer
 

20stylz a écrit :

If not monObjet is nothing And monObjet.xx = xx Then ... la seconde condition ne soit pas testée si la première est fausse.


ce n'est pas déjà le cas ?  :sweat:  
mets des parentheses dans ton test if, mais si l'une des deux conditions est fausse, ca ne rentrera pas dans la boucle.


Message édité par jpcheck le 08-03-2007 à 13:12:22
n°1525938
20stylz
Posté le 08-03-2007 à 16:40:38  profilanswer
 

Non le problème ce n'est pas de rentrer dans la boucle, si une des condition est fausse le then se sera pas executée. Le problème c'est le test de la seconde condition (monObjet.xx = xx) qui plante si l'objet n'existe pas.
 
Et malheureusement les parenthèses ne changent rien :(

n°1525976
ingenieurc​esi
Posté le 08-03-2007 à 17:44:28  profilanswer
 

avec un "On Error Resume Next"
non ?
 
autre possibilité
sub 20stylz()
If not monObjet is nothing And monObjet.xx = xx Then
on error goto fin
'ici ce que tu veux faire
end if
fin:
end sub
 
à tester


Message édité par ingenieurcesi le 08-03-2007 à 18:06:00

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  conditions And dans les If

 

Sujets relatifs
Conditions multiples ( double WHERE...)[DOS] Variables et conditions IF pour commande GREP
[SQL] insert avec conditions[BO] Création de conditions prédéfinies personnelles sous WEBI
Copie de cellules avec conditions[ACCESS] VBA-SELECT * FROM users WHERE nom=nom AND password=password?
conditions sur 2 count ?boutton avec des conditions
Mysql -> Fonction IN (1,2,3) AND et pas OR[Résolu] Plusieurs AND / OR dans un if
Plus de sujets relatifs à : conditions And dans les If


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR