Importation données excel sur listview

Le
silver-beach
Bonjour à tous,

Voila je suis confronté à un gros problème de programmation en VBA. J'ai beau chercher sur internet je ne trouve pas la solution.

Voila mon problème, j'ai deux fichiers excel :

- le 1er est un userform ayant un listview (nommé GRC)
- le 2eme est une base de données nommé (classeur nommé BaseDeDonnées et la feuille nommée Base de données)

Je n'arrive pas malgré plusieurs heures passées sur le net, à alimenter ma listview par les données qui sont dans mon deuxieme fichier excel (base de données).

J'ai reussi a faire la mise en page : nombre de colonne et entete.

En gros dans mon deuxieme fichier excel (base de données) j'aimerai copier la colonne A et la mettre dans la colonne A de mon listview

Quelqu'un peut-il m'aider ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22128861
Bonjour,

Supposons que tes données pour la colonne 1 se retrouvent
dans le classeur ouvert "Book2.xls" dans la "feuil1", dans la plage
A1:A3

Supposons que tu veuilles ajouter ces données à ton listView
de 3 colonnes.

Voici un exemple :
Tu devras adapter le nom des objets au besoin !
'----------------------------------------
Private Sub UserForm_Initialize()

Dim Rg As Range, C As Range
Set Rg = Workbooks("Book2.xls").Worksheets("Feuil1").Range("A1:A3")

With ListView1
'Définit le nombre de colonnes et Entêtes
With .ColumnHeaders
'Supprime les anciens entêtes
.Clear
'Ajoute 3 colonnes en spécifiant le nom de l'entête
'et la largeur des colonnes
.Add , , "Nom", 80
.Add , , "Ville", 50
.Add , , "Age", 50
End With

'Remplissage de la 1ere colonne (création de 3 lignes)
For Each C In Rg
With .ListItems
.Add , , C.Value
End With
Next

'Remplissage des colonnes 2 et 3 dans la 1ere ligne
.ListItems(1).ListSubItems.Add , , "Ville01"
.ListItems(1).ListSubItems.Add , , 30

'Remplissage des colonnes 2 et 3 dans la 2eme ligne
.ListItems(2).ListSubItems.Add , , "Ville02"
.ListItems(2).ListSubItems.Add , , 27

'Remplissage des colonnes 2 et 3 dans la 3eme ligne
.ListItems(3).ListSubItems.Add , , "Ville03"
.ListItems(3).ListSubItems.Add , , 41
End With


'Spécifie l'affichage en mode "Détails"
ListView1.View = lvwReport
End Sub
'----------------------------------------





"silver-beach" discussion :
Bonjour à tous,

Voila je suis confronté à un gros problème de programmation en VBA. J'ai beau
chercher sur internet je ne trouve pas la solution.

Voila mon problème, j'ai deux fichiers excel :

- le 1er est un userform ayant un listview (nommé GRC)
- le 2eme est une base de données nommé (classeur nommé BaseDeDonnées et la
feuille nommée Base de données)

Je n'arrive pas malgré plusieurs heures passées sur le net, à alimenter ma
listview par les données qui sont dans mon deuxieme fichier excel (base de
données).

J'ai reussi a faire la mise en page : nombre de colonne et entete.

En gros dans mon deuxieme fichier excel (base de données) j'aimerai copier la
colonne A et la mettre dans la colonne A de mon listview

Quelqu'un peut-il m'aider ?
michdenis
Le #22128851
Regarde à cette adresse les exemples, ça peut te donner des idées...

http://silkyroad.developpez.com/VBA/ListView/



"silver-beach" discussion :
Bonjour à tous,

Voila je suis confronté à un gros problème de programmation en VBA. J'ai beau
chercher sur internet je ne trouve pas la solution.

Voila mon problème, j'ai deux fichiers excel :

- le 1er est un userform ayant un listview (nommé GRC)
- le 2eme est une base de données nommé (classeur nommé BaseDeDonnées et la
feuille nommée Base de données)

Je n'arrive pas malgré plusieurs heures passées sur le net, à alimenter ma
listview par les données qui sont dans mon deuxieme fichier excel (base de
données).

J'ai reussi a faire la mise en page : nombre de colonne et entete.

En gros dans mon deuxieme fichier excel (base de données) j'aimerai copier la
colonne A et la mettre dans la colonne A de mon listview

Quelqu'un peut-il m'aider ?
Publicité
Poster une réponse
Anonyme