IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Syntaxe d'un test IF


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut Syntaxe d'un test IF
    Bonjour à tous ...

    Je travaille avec VB6 en anglais sur XP Pro en français.

    Mon problème est le suivant : j'ai une procédure (3000 lignes ) que je dois essayer de comprendre afin de corriger un problème.

    Lorsque je veux exécuter cette procédure, j'ai un soucis avec des tests IF ... en effet, il me manque un END IF à une place et sur 3000 lignes, je ne vous explique pas comme c'est ****** pour rechercher ...

    Ma question est la suivante :

    Est-ce que le code ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If tyCourbeDes.nsgValErrMin < tyCourbeDesInv.nsgValErrMin Then _
                    nSingle2 = tyCourbeDes.nsgValErrMin _
                    Else nSingle2 = tyCourbeDesInv.nsgValErrMin
    Peut être écrit comme suit ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If tyCourbeDes.nsgValErrMin < tyCourbeDesInv.nsgValErrMin Then
            nSingle2 = tyCourbeDes.nsgValErrMin
    Else
            nSingle2 = tyCourbeDesInv.nsgValErrMin
    End If
    Plusieurs tests if sont construit de ce style et cela me pose un peu problème ... Merci d'avance pour votre aide ...

    Salutations à tous
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    je dois dire que ta question est déroutante !

    Tu n'as donc pas installé l'aide en ligne ?

    on y lit, à la rubrique unstruction If...Then...Else :

    Syntaxe

    If condition Then [statements] [Else elsestatements]

    Vous pouvez également utiliser la syntaxe suivante :

    If condition Then
    [statements]
    [ElseIf condition-n Then
    [elseifstatements] ...
    [Else
    [elsestatements]]
    End If

    La syntaxe de l'instruction If...Then...Else comprend les éléments suivants :

    Élément Description

    condition Un des deux types d'expression suivants :
    Une expression numérique ou expression de chaîne qui prend la valeur True ou False. Si l'argument condition est Null, il est considéré comme False.
    Une expression de la forme TypeOf objectname Is objecttype. Objectname est une référence à un objet et objecttype est un type d'objet valide. L'expression a pour valeur True si objectname est du type objet indiqué par objecttype ; sinon elle a pour valeur False.
    statements Facultatif dans la feuille bloc ; nécessaire dans une feuille à une seule ligne sans clause Else. Une ou plusieurs instructions séparées par un signe deux-points ; exécutée si la valeur de condition est True.
    condition-n Facultatif. Similaire à condition.
    elseifstatements Facultatif. Une ou plusieurs instructions exécutées si la valeur de l'argument condition-n associé est True.
    elsestatements Facultatif. Une ou plusieurs instructions exécutées si aucun argument condition précédent n’a la valeur True ou si la valeur de l'expression condition-n n'est pas True.
    Remarques

    Vous pouvez utiliser la syntaxe à une seule ligne (première syntaxe) pour effectuer de petits tests simples. Toutefois, la deuxième syntaxe fournit une plus grande structure et davantage de souplesse ; en outre, elle est généralement plus facile à lire, à mettre à jour et à corriger.

    Note Dans le cas de la syntaxe à une seule ligne, il est possible d'exécuter plusieurs instructions à partir d'une décision If...Then. Toutes les instructions doivent se trouver sur la même ligne et être séparées par un signe deux-points, comme dans l'instruction suivante :

    If A > 10 Then A = A + 1 : B = B + A : C = C + B

    Une instruction If d'un bloc doit être la première instruction d'une ligne. Les éléments Else, ElseIf et End If de l'instruction peuvent être uniquement précédées d'un numéro de ligne ou d'une étiquette de ligne. Le bloc If doit se terminer par une instruction End If.

    Pour déterminer si une instruction If est un bloc If, examinez ce qui suit le mot clé Then. S'il ne s'agit pas d'un commentaire, l'instruction est traitée comme une instruction If à une seule ligne.

    Les clauses Else et ElseIf sont facultatifs. Un bloc If peut contenir autant de clauses Elself que vous le souhaitez, mais aucune ne peut apparaître après une clause Else. N'importe quel bloc d'instructions peut contenir des instructions If imbriquées.

    Lorsque vous exécutez une instruction If d'un bloc (deuxième syntaxe), la condition est testée. Si la valeur de l'argument condition est True, les instructions qui suivent Then sont exécutées. Si la valeur de l'argument condition est False, chacune des conditions ElseIf (s'il y en a) sont évaluées l'une après l'autre. Quand une condition de valeur True est trouvée, les instructions qui suivent le Then correspondant sont exécutées. Si aucune des conditions Elself n'a pour valeur True, ou s'il n'y a pas de clause ElseIf, les instructions qui suivent Else sont exécutées. Une fois que les instructions qui suivent Then ou Else exécutées, l'exécution du programme se poursuit à partir de l'instruction située après End If.
    Et la chose ne peut être plus claire !

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Bonjour,

    je dois dire que ta question est déroutante !
    Je suis désolé, mais je débute totalement dans ce langage de programmation et j'ai un peu de mal ...

    J'avais regardé dans l'aide et, en tout honnêteté, je fus emporté dans un élan de précipitation en la lisant ... j'ai totalement zapé les 2 premières lignes ...

    Que dire d'autre ... mis à part merci pour ta remise à l'ordre et ta réponse ... dorénavant je vais prendre plus de temps pour BIEN lire l'aide ...

    Disons que je me sens : ...

    Honte à moi ... et encore merci ...
    ... Je me méfie de l'irrespect mais je revendique le droit à la frénésie ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/04/2008, 23h58
  2. Mauvaise syntaxe sur test
    Par bzh56 dans le forum Bases de données
    Réponses: 13
    Dernier message: 10/10/2007, 22h57
  3. utiliser test pour vérifier la syntaxe d'une chaine de caractere ?
    Par italiasky dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 07/04/2007, 16h41
  4. Réponses: 8
    Dernier message: 13/09/2006, 11h46
  5. syntaxe d'un test ?
    Par MAJIK_ENIS dans le forum Langage
    Réponses: 8
    Dernier message: 27/03/2006, 19h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo