VB ; if avec plusieurs conditions
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

VB ; if avec plusieurs conditions



  1. #1
    invite1038f851

    VB ; if avec plusieurs conditions


    ------

    Bonjour,
    je me permets de vous solliciter pour une tite question par très compliquée je pense mais dont je ne trouve pas la solution :

    J'ai écris le code suivant mais les conditions de mes if pose pb...
    Code:
    Dim i, j As Integer
    j = Liste.Lstb_pts.ListCount - 1
    For i = 0 To j
    If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i - 1, 3) <> 0 Then
    tdep = Lstb_pts.List(i - 1, 3)
    End If
    If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i + 1, 3) <> 0 Then
    tfin = Lstb_pts.List(i + 1, 3)
    End If
    Next
    
    Label7 = tdep
    Label8 = tfin
    Merci de votre aide qui me permettra de me corriger !

    -----

  2. #2
    sitalgo

    Re : VB ; if avec plusieurs conditions

    La syntaxe semble correcte mais tu voudrais que ça fasse quoi au lieu de ce que tu obtiens?
    Ou bien as-tu des messages d'erreurs, lesquels?
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

  3. #3
    invite1038f851

    Re : VB ; if avec plusieurs conditions

    En fait le programme s'arrête et ma ligne de commande if et surlignée en jaune !! Donc il y a quelque chose qui ne lui plait pas, mais quoi ?...

  4. #4
    padboy

    Re : VB ; if avec plusieurs conditions

    Commence par mettre ton identation:
    Code:
    Dim i, j As Integer
    j = Liste.Lstb_pts.ListCount - 1
    For i = 0 To j
    	If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i - 1, 3) <> 0 Then
    		tdep = Lstb_pts.List(i - 1, 3)
    	End If
    
    	If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i + 1, 3) <> 0 Then
    		tfin = Lstb_pts.List(i + 1, 3)
    	End If
    Next
    
    Label7 = tdep
    Label8 = tfin
    Ensuite, je n'ai pas pu tester directement ton code, car je n'ai pas VB6 ici.. Mais bon, quelle est l'erreur?

  5. A voir en vidéo sur Futura
  6. #5
    sitalgo

    Re : VB ; if avec plusieurs conditions

    Code:
    For i = 0 To j
        If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i - 1, 3) <> 0 Then
            tdep = Lstb_pts.List(i - 1, 3)
        End If
    ...
    Suis-je bête, c'est tout simple. Quand i=0, l'index de la liste devient -1.
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

  7. #6
    invite1038f851

    Re : VB ; if avec plusieurs conditions

    Oui, erreur bête. Mais le problème est tjs pa résolu. Mon problème est le suivant : dans la 4ième ligne de ma listbox "Liste.Lstb_pts" j'ai par exemple les valeurs suivantes :
    ...
    t1
    0
    0
    0
    0
    t2
    ...
    j'aimerais alors pouvoir récupérer les valeurs t1 et t2.

    Merci d'avance.

  8. #7
    invite1038f851

    Re : VB ; if avec plusieurs conditions

    J'écris le code suivant, mais toujours un problème avec mes if !

    Code:
    Dim i, j As Integer
    j = Liste.Lstb_pts.ListCount
    For i = 1 To j
    If Liste.Lstb_pts.List(i, 3) = 0 And Liste.Lstb_pts.List(i - 1, 3) <> 0 Then
    tdep = Liste.Lstb_pts.List(i - 1, 3)
    End If
    Next
    
    Dim u, v As Integer
    v = Liste.Lstb_pts.ListCount - 1
    For u = 0 To v
    If Liste.Lstb_pts.List(u, 3) = 0 And Liste.Lstb_pts.List(u + 1, 3) <> 0 Then
    tfin = Lstb_pts.List(u + 1, 3)
    End If
    Next

  9. #8
    sitalgo

    Re : VB ; if avec plusieurs conditions

    Tes explications sont trop partielles pour qu'on comprenne ce que tu veux. Décris ce que tu mets en place (notamment ta listbox, je ne sais pas du tout à quoi elle ressemble) et ce que tu veux traiter.

    Indente ton code, ça facilite la lecture.
    Dans tes déclarations i et u sont des variant puisque tu ne mets pas de type après.
    Mais si t'as l'gosier, Qu'une armure d'acier, Matelasse. Brassens, Le bistrot.

  10. #9
    invite309a5f63

    Re : VB ; if avec plusieurs conditions

    Dim i As Integer
    Dim tdep As Integer
    Dim tfin As Integer

    For i = 0 To (Liste.Lstb_pts.ListCount - 1)
    IF (tdep = 0) then tdep = Lstb_pts.List(i, 3)
    If (Liste.Lstb_pts.List(i, 3) <> 0 ) Then tfin = Lstb_pts.List(i, 3)
    Next i

    Label7 = tdep
    Label8 = tfin

    Stéphane

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2009, 12h04
  2. probleme edp avec conditions initiales
    Par invite67614aac dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 24/01/2009, 22h37
  3. equa diff second ordre avec conditions initiales
    Par invite65f84ed6 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 28/10/2007, 17h04
  4. Un peu de mal avec les conditions initiales...
    Par invite87912a33 dans le forum Physique
    Réponses: 2
    Dernier message: 17/01/2007, 22h51
  5. Compilation avec conditions en LaTeX
    Par pat7111 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 23/01/2006, 10h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...