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 :

Ajouter un élément avec 2 listes VB6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Par défaut Ajouter un élément avec 2 listes VB6
    Bonjour.
    J'ai un petit problème quand je fais un passage d'éléments entre deux listes.
    Je peux le faire seulement dans l'ordre de la liste.
    Quand je sélectione le deuxième élément de la liste il m'efface le premier élément et me l'ajoute 2 fois.
    Si je veux selectionner le 3ème élément, il m'effacera les 2 premiers éléments et me l'ajoutera 3 fois ... et ainsi de suite.

    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub ComAddAct_Click()
     
    For i = 0 To LstAcEx.ListCount - 1
    If LstAcEx.ListIndex >= 0 Then
        LstAjActeur.AddItem LstAcEx.Text
        LstAcEx.RemoveItem LstAjActeur.ListIndex = i
    End If
    Next
     
    End Sub
    Je ne vois pas ou est le problème. Si quelqu'un peur m'aider s'il vous plait.
    Merci d'avance de vos réponses.

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    C'est ca que tu veux faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If List1.ListIndex >= 0 Then
        List2.AddItem List1.Text
        List1.RemoveItem List1.ListIndex
    End If

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Par défaut
    Oui c'est bien ca que je cherche a faire. Mais ca ne marche pas. le compilateur me dit qu'un argument ou appel de procédure est incorrect.
    Je crois que dérriere la propriété ListIndex, il attend un indice.

  4. #4
    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
    Par défaut
    Bonjour,

    Pas vraiment certains d'avoir compris tout (ça reste assez nébuleux ...)


    Mais cela ne fait rien :

    Voilà un exemple de ce type de manoeuvre.
    A toi de l'adapter à ton mystérieux mécanisme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Command1_Click()
      If List1.ListIndex < 1 Then Exit Sub 'puisque tu dis vouloir commencer au 2ème !
        For i = 1 To List1.ListIndex + 1
          List2.AddItem List1.List(List1.ListIndex - 1)
        Next
        For i = 0 To List1.ListIndex
          List1.RemoveItem 0
        Next
    End Sub
    Edit :

    Qui peut s'exprimer également ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Command1_Click()
      If List1.ListIndex < 1 Then Exit Sub
        For I = 1 To List1.ListIndex + 1
          List2.AddItem List1.List(List1.ListIndex - 1)
          If I > List1.ListIndex Then List1.RemoveItem 0
        Next
     End Sub
    Mais celà t'oblige à bien te concentrer ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Avril 2008
    Messages : 18
    Par défaut
    En fait il s'agit d'ajouter l'élément sélectionner dans la liste, dans une autre liste.
    Mais ce que tu m'as passé ucfoutu, ca reviend la meme chose de ce que j'ai marqué. Ton code fait la même erreur que moi. L'élément ajouté y est plusieur fois selon l'emplacement dans l'autre liste. Je vais essayer de réfléchir pourquoi ca fonctionne pas

  6. #6
    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
    Par défaut
    Ben...

    J'ai fait celà car tu as écrit ceci :

    Si je veux selectionner le 3ème élément, il m'effacera les 2 premiers éléments et me l'ajoutera 3 fois ... et ainsi de suite.
    Tu vois bien que tu n'était pas suffisamment précis !

    Recommence ton exposé de façon claire et très précise (au besoin avec 2 simulations d'exemple)

    Le reste prendra à peine 10 secondes ...

    On ne va pas jouer aux devinettes longtemps, hein ?

    Je ne le fais ici qu'une fois (juste pour le cas où ...) mais ne continuerai que si tout est exprimé sans laisser le moindre doute, c'est sûr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Command1_Click()
      If List1.ListIndex < 1 Then Exit Sub
          List2.AddItem List1.List(List1.ListIndex - 1)
          For i = 0 To List1.ListIndex
             List1.RemoveItem 0
          Next
    End Sub

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

Discussions similaires

  1. [AC-2003] comment ajouter un élément dans une liste avec InputBox
    Par spacesheep dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/10/2009, 13h33
  2. Réponses: 8
    Dernier message: 27/04/2007, 14h07
  3. Réponses: 12
    Dernier message: 12/03/2007, 16h58
  4. Correction pour ajouté un élément dans une liste
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2007, 11h09
  5. ajouter un élément dans une liste
    Par Le Mérovingien dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 02/07/2006, 17h43

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