Erreur dans le code VB

4qnow Messages postés 18 Date d'inscription   Statut Membre -  
4qnow Messages postés 18 Date d'inscription   Statut Membre -
Bonjour,

voici un bout de mon code qui ne fonctionne pas
je ne sais pas pourquoi il n'affiche rien dans le ListBox quand je selectionne une option( quelque soit l'option d'ailleurs)

Private Sub Cmd_Add_Click()
' c'est l'étape final
' la variable choix recupère l'i du choix effectué dans la liste
choix = List1.ListIndex

' test : un choix a-t-il été fait ?
If choix = -1 Then
tutu = MsgBox("Vous n'avez rien choisi !", vbExclamation, "Erreur")
Else

' Recupération dans choixtexte de l'intitulé du choix
choixtexte = List1.List(choix)
tutu = MsgBox("Vous avez choisi : " & choixteste, vbInformation, "Choix effectué")

End If

End Sub

Private Sub Form_Load()
' Mise à blanc des cases à cocher
Opt(0).Value = False
Opt(1).Value = False
Opt(2).Value = False

End Sub

Private Sub Opt_Click(i As Integer)

' Vidage des éléments presents dans la liste

List1.Clear

' Remplissage de la liste
' on pourrait le faire à partir d'un fichier texte, mais cette méthode nous arrange bien
For i = 0 To 2
Next
If i = 0 Then
Liste1.AddItem ("Présent")

If i = 1 Then
Liste1.AddItem ("Conjoint")
Liste1.AddItem ("Président")
Liste1.AddItem ("Membre-adhérent")
Liste1.AddItem ("pouvoir-blanc")

Else
Liste1.AddItem ("Nul-à-personne-dénommée")
Liste1.AddItem ("Pouvoir-blanc-nul")

End If

End If

End Sub

Pouvez-vous me dire s'il vous plais pourquoi il ne marche pas!

Merci d'avance
4qnow
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. 4qnow Messages postés 18 Date d'inscription   Statut Membre 1
     
    Merci DOS,
    j'ai fait la modification, seulement l'autre bugg est qu'il afficha la meme liste quelque soit l'option selectionnée

    voici la modification

    For i = 0 To 2

    If i = 0 Then
    List1.AddItem ("Présent")
    Else
    If i = 1 Then
    List1.AddItem ("Conjoint")
    List1.AddItem ("Président")
    List1.AddItem ("Membre-adhérent")
    List1.AddItem ("pouvoir-blanc")
    Else
    List1.AddItem ("Nul-à-personne-dénommée")
    List1.AddItem ("Pouvoir-blanc-nul")
    End If
    End If
    Next
    End Sub

    il affiche alors {conjoint, president, membre-adherent, pouvoir-blanc, nul-à-personne-denommée et pouvoir-blanc-nul} ce qui n'est pas normal.
    Remarquons aussi que Liste1 a été remplacée par List1. as-tu une idée ?

    Merci
    1
  2. DOS
     
    Salut,
    List1.Clear 
    
    ' Remplissage de la liste 
    ' on pourrait le faire à partir d'un fichier texte, mais cette méthode nous arrange bien 
    For i = 0 To 2 
    Next 
    If i = 0 Then 
    List1.AddItem ("Présent") 
    

    ou
    Liste1.Clear 
    
    ' Remplissage de la liste 
    ' on pourrait le faire à partir d'un fichier texte, mais cette méthode nous arrange bien 
    For i = 0 To 2 
    Next 
    If i = 0 Then 
    Liste1.AddItem ("Présent") 
    

    DOS
    0
    1. 4qnow Messages postés 18 Date d'inscription   Statut Membre 1
       
      DOS, c'est encore moi,
      ça marche.
      j'ai annulé ( en mettant en commentaire) la boucle for et le next car je pense qu'elle recupere dans son cpt toute l'ensemble des listes

      voici la modif

      Private Sub Opt_Click(i As Integer)

      ' Vidage des éléments presents dans la liste

      List1.Clear

      ' Remplissage de la liste
      ' on pourrait le faire à partir d'un fichier texte, mais cette méthode nous arrange bien
      ' For i = 0 To 2

      If i = 0 Then
      List1.AddItem ("Présent")
      Else
      If i = 1 Then
      List1.AddItem ("Conjoint")
      List1.AddItem ("Président")
      List1.AddItem ("Membre-adhérent")
      List1.AddItem ("pouvoir-blanc")
      Else
      List1.AddItem ("Nul-à-personne-dénommée")
      List1.AddItem ("Pouvoir-blanc-nul")
      End If
      End If
      ' Next
      End Sub

      en tout cas merci. je vais continuer la suite car le traitement ne s'arrete pas là.
      Merci à tous
      0
  3. DOS
     
    re :

    et la boucle for devrait se lire comme suit :

        For i = 0 To 2
            If i = 0 Then
                Liste1.AddItem ("Présent")
            Else
                If i = 1 Then
                    Liste1.AddItem ("Conjoint")
                    Liste1.AddItem ("Président")
                    Liste1.AddItem ("Membre-adhérent")
                    Liste1.AddItem ("pouvoir-blanc")
                Else
                    Liste1.AddItem ("Nul-à-personne-dénommée")
                    Liste1.AddItem ("Pouvoir-blanc-nul")
                End If
            End If
        Next
    


    si j'ai bien compris !

    DOS
    0