Recuperer des donnees dans listview

Résolu
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 - 5 nov. 2011 à 17:11
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 - 6 nov. 2011 à 20:26
Bonjour
j'ai commencer un code, pour recuperer des donnees d'une feuille excel dans une listview, j'ai bien les entetes, mais je ne sais comment faire pour recuperer les donnees de cette feuille. Je voudrais bien attacher mon classeur pour etre plus clair, mais je ne sais pas comment le rattacher
merci

Private Sub CommandButton1_Click()
Me.Hide
End Sub

Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)

End Sub

Private Sub UserForm_Activate()

'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear

'Alimentation des titres de colonne :

ListView1.ColumnHeaders.Add , , "Mois", ListView1.Width * 0.05, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nom", ListView1.Width * 0.15, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nº MobilHome", ListView1.Width * 0.1, lvwColumnRight
ListView1.ColumnHeaders.Add , , "Date", ListView1.Width * 0.1, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Duree", ListView1.Width * 0.15, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Reglement", ListView1.Width * 0.15, lvwColumnRight
ListView1.ColumnHeaders.Add , , "Total", ListView1.Width * 0.1, lvwColumnRight


End Sub

20 réponses

chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
6 nov. 2011 à 20:26
bien vu ucfoutu, tu as mis le doigt dessus, en faisant ta remarque j'ai verifier ma feuille et le couleur du texte etait en blanc sur un fond de couleur.
ca marche tres bien.
merci beaucoup a toi.
cris
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 17:57
Bonjour,

regarde et analyse ce que fait ce petit exemple que je t'ai fabriqué (tu devrais comprendre)
 ListView1.ColumnHeaders.Add , , "Nom", ListView1.Width / 3
    ListView1.ColumnHeaders.Add , , "prénom ID", ListView1.Width / 3, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "date de naissance", ListView1.Width / 3
    Dim itmX As ListItem
    For i = 1 To 10
       Set itmX = ListView1.ListItems.Add(, , i)
       itmX.SubItems(1) = "a" & i
       If i Mod 2 = 0 Then
          itmX.SubItems(2) = "17/02/2000"
       Else
          itmX.SubItems(2) = "20/03/2002"
       End If
    Next


Important : mettre à lvwReport (3) la propriété View de ta listview.
Voilà comment on ajoute des items à ce contrôle, mais relis avec attention ce que j'ai dit dans l'autre discussion que tu as ouverte à ce propos.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 18:19
j'ai essayer le code mais il s'arrete a

itmX As ListItem en mettant une erreur.

sinon j'ai bien lvwReport a 3
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 18:30
Je viens donc de l'essayer sur ma machine et je n'ai aucune erreur et j'ai bien l'affichage escompté !
1) Où as-tu mis la listview ?
2) Où et dans quel évènement as-tu mis ce code ?
3) n'aurais tu pas affecté autre chose à la variable itmX ?
Car si réponse 1 ton userform, que réponse 2 dans l'évènement activate de cet userform et que réponse 3 = "non : itmX n'est affectée à rien d'autre ====>>> NE PEUT QUE FONCTIONNER !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 18:44
Et dis-nous quelles sont les références cochées dans ton projet, s'il te plait (car je commence à subodorer quelque-chose, là


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 18:44
la listview est dans un userform
j'ai mis le code a la suite du mien
je n'est rien affecte a la variable

cris
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 18:47
1) réponds à ma dernière question, à propos des références cochées.
2) ne mets pas mon code à la suite du tien. Mets-le dans un userform vierge, avec sa listview insérée, de sorte à éliminer d'autres doutes et erreurs que je ne peux contrôler.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 18:57
Si ta listview a été insérée régulièrement, tu devrais avoir, cochée, la référence Microsoft Windows Common Controls (SP6)
Si cette référence n'est pas cochée, c'est que la listview n'a pas été insérée régulièrement .


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 19:08
C'est bien ce que j'imaginais : je viens, pour voir, de supprimer cette référence ===>> et alors oui ===>> l'erreur est alors là, comme chez toi
As-tu installé SP6 ?
As-tu bien, dans system32, l'OCX MSCOMMCTL.OCX ? Et si oui : l'as-tu bien enregistré ?
Commençons par cela, s'il te plait.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 19:19
de quelles references tu parle stp
j'ai fait un autre classeur avec une feuille de donnees.
puis creer un userform avec une listview.
cela ne fonctionne pas, ca ce bloqie toujours au meme endroit.
quand je suprime les ligne a partir de cette erreur, je vois la listview avec les titres
voila
merci
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 19:27
je n'est pas trouver dans system32le fichier que tu me parles.
comment faire stp, tu as peux etre mis le doigt sur un truc
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 19:52
je n'est pas trouver le fichier dont tu parles

comment faire
merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 20:11
Tu as alors un vrai problème.
Je suppose que tu es sous Vista ou sous Windows 7, n'est-ce-pas ?
Commence par répondre à cette question.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
5 nov. 2011 à 20:31
sur windows 7
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
5 nov. 2011 à 20:50
Et voilà donc ===>> MSCOMMCTL.OCX n'est pas distribué avec WIN 7

Alors :
Etape 1 : tu vas aller sur le Web et tu vas télécharger cet OCX. Je ne te donnerai personnellement aucun lien pour ce faire car cela comporte toujours le risque d' "attraper la vérole" en téléchargeant ainsi. Je te laisse le choix parmi les différents sites. A toi de choisir celui qui te paraîtra le plus "sûr" (voilà qui est clair !)
Etape 2 : tu l'injectes dans system32
Erape 3 :
a) tu crées un raccourci sur le bureau de Vista pointant vers c:\windows\system32\cmd.exe.
b) tu cliques (avec le bouton droit) sur ce raccourci et choisis "Exécuter en tant qu'administrateur".
c) en ligne de commande (Exécuter) : regsvr32 C:\....\ system32\MSCOMCTL.OCX
où les ...... sont à remplacer par ton sysstem (Windows, par exemple, si System32 est dans C:\Windows ===>> et tu cliques OK
Etape 4 : tu retournes dans ton classeur ===>> editeur VBA ===>> outils ===>> Références ===>> parcourir ===>> vas dans system32 ===>> choisis type de fichier : ocx ===>> double-clique sur MSCOMMCTL.ocx ===>> clique sur OK
Recommence ensuite ton test avec mon code et dis-nous.
Je te retrouve demain (vais dormir).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
6 nov. 2011 à 14:30
j'ai ete chercher le fichier sur internet, et est voulue le decompresser dans le bon repertoire, mais il me demande si je veux supprimer une autre version de ce fichier, donc ce fichier existe bien reelement.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
6 nov. 2011 à 14:53
Cela contredit ce que tu m'as dit précédemment !
je n'est pas trouver le fichier dont tu parles

Il va être dur de travailler ainsi, sauf à me déplacer vers ra machine et ton clavier !
Non ! passe donc à l'étape 3


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
6 nov. 2011 à 14:53
Bonjour
J'ai reussi a visualiser mes donnees,
mes donnees sont sur 8 colonnes,mais dans la listview je ne vois pasles valeurs de la 4eme colonnes, si quelqu'un a une idee.
merci

voici mon code


Private Sub CommandButton1_Click()
Me.Hide
End Sub


Private Sub UserForm_Activate()

'Suppression des titres de colonnes
ListView1.ColumnHeaders.Clear

'Alimentation des titres de colonne :

ListView1.ColumnHeaders.Add , , "Mois", ListView1.Width * 0.1, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nom", ListView1.Width * 0.15, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Nº MobilHome", ListView1.Width * 0.1, lvwColumnRight
ListView1.ColumnHeaders.Add , , "Date", ListView1.Width * 0.1, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Duree", ListView1.Width * 0.15, lvwColumnLeft
ListView1.ColumnHeaders.Add , , "Reglement", ListView1.Width * 0.15, lvwColumnRight
ListView1.ColumnHeaders.Add , , "Total", ListView1.Width * 0.1, lvwColumnRight

'on remplit la listview

With Me.ListView1
.ListItems.Clear
    For Each c In Range("a4:a" & Range("a65536").End(xlUp).Row)
        x = x + 1
        .ListItems.Add , , c
        .ListItems(x).ForeColor = c.Font.Color
        For j = 1 To 6
            .ListItems(x).ListSubItems.Add , , c.Offset(0, j)
            .ListItems(x).ListSubItems(j).ForeColor = c.Offset(0, j).Font.Color
        Next j
Next c
End With

End Sub
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
6 nov. 2011 à 20:01
1)
qu'as-tu en colonne j (donc E ?) (de ta feuille) lorsque j = 4 ?
2)
 c.Offset(0, j)
est une fort mauvaise habitude ! précise donc si propriété .value ou propriété Text.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
6 nov. 2011 à 20:19
et là :
 .ListItems(x).ListSubItems(j).ForeColor = c.Offset(0, j).Font.Color

on ne peut qu'espérer que la couleur de la police sur ta feuille n'est pas celle du fond de ta listview, hein

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous