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

Macros et VBA Excel Discussion :

Remplir une listView avec une autre ListView [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Remplir une listView avec une autre ListView
    Bonjour,

    j'ai créer une première UserForm1 avec une listView1. Puis j'ai créer une deuxième UserForm2 avec une listView2 aussi. Je voudrais savoir comment importer le contenu de la listView1 dans la listView2 sans pouvoir réécrir tout le code gérant la listView1.

    Merci pour votre aide

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut question
    bonjour tout depend comment
    tu rempli la premiere en fait

    ya til une condition pour remplir la deuxieme si non

    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    userform1.listview1 add item 'ou quelque chose come ca tu repete l operation  
     
    userform2.listview1.add item 'blablabla de la meme maniere que la premiere
    si il y a une condition j ai bien peur que tu soit obligé de reecrire le code
    ou peut etre utilise un module classe dans le quel tu metra la macro qui rempli les listviews

    voila c'est juste une idéemais sans ton fichier ca risque d'etre dur de t aider

    au plaisir

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Ben, au fait, ma première list view se rempli en fonction des comboBox qui appartiennent au UserForm1. Je ne sais pas si tu vois!

    Donc je ne peux pas intégrer le code le listView1 dans listView2 étant donné que UserForm2 ne possède pas de comboBox.

    J'ai écrisce code mais ça ne m'affiche pas les donnés de la listView1 dans la listView2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To UserForm17.ListView1.ListItems.Count
       For j = 1 To ListView2.ListItems.Count
    UserForm17.ListView1.ListItems.Item(i) = ListView2.ListItems.Item(j)
       Next j
    Next i

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 102
    Points : 117
    Points
    117
    Par défaut
    Bonjour

    Pour remplir la listview il faut utiliser add

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    with UserForm17.ListView1
     
    For i = 1 To UserForm17.ListView1.ListItems.Count
     
    ListView2.ListItems.Add , , .ListItems(i).Text ' pour la première colonne
     
    For j = 1 To 5 ' pour les colonnes
    ' a modifier ou supprimer en fonction du nombre de colonnes
     
                ListView2.ListItems(ListView2.ListItems.Count).ListSubItems.Add = .ListItems(j).ListSubItems(i).Text
            Next j
    next i
    End With
    A tester

    JP014

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    J'ai essayé le code mais ça ne marche pas. Plus précisemment, dans ma listView2 apparait juste des numéros de 1 à 10 mais pas le contenu text de la listView1.

    au fait, j'ai pu retester ton code en ajoutant des modifications et ça a l'aire de marcher. Cependant il faut que je revois la boucle car à la fin de la liste j'ai d'autres lignes qui sont affichés et qui sont inutiles.

    Donc vais revoir le code!!


    Merci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 29
    Points
    29
    Par défaut
    Comme ça, le code marche mieux!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    With UserForm17.ListView1
     
    For i = 1 To UserForm17.ListView1.ListItems.Count
     
    'ListView2.ListItems.Add , , .ListItems(i).Text ' pour la première ligne
     
    For j = 1 To 10 ' pour les colonnes
    ' a modifier ou supprimer en fonction du nombre de colonnes
     
                ListView2.ListItems(ListView2.ListItems.Count).ListSubItems.Add = .ListItems(i).ListSubItems(j).Text
            Next j
    Next i
    End With
    Merci pour ton aide!!


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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  4. Remplir l'objets listview d'une form avec une dll
    Par Jap dans le forum Windows Forms
    Réponses: 11
    Dernier message: 28/09/2009, 21h54
  5. Réponses: 35
    Dernier message: 21/03/2007, 11h36

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