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
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    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
    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
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    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 éprouvé
    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
    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
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    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
    Membre averti
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 37
    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, 11h17
  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, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  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, 20h54
  5. Réponses: 35
    Dernier message: 21/03/2007, 10h36

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