Recuperer des donnees dans listview [Résolu]

chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 17:11 - Dernière réponse : chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention
- 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

Afficher la suite 

Votre réponse

20 réponses

Meilleure réponse
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 6 nov. 2011 à 20:26
3
Merci
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

Merci chris09300 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 17:57
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 18:19
0
Merci
j'ai essayer le code mais il s'arrete a

itmX As ListItem en mettant une erreur.

sinon j'ai bien lvwReport a 3
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 18:30
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 18:44
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 18:44
0
Merci
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
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 18:47
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 18:57
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 19:08
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 19:19
0
Merci
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
Commenter la réponse de chris09300
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 19:27
0
Merci
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
Commenter la réponse de chris09300
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 19:52
0
Merci
je n'est pas trouver le fichier dont tu parles

comment faire
merci
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 20:11
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 5 nov. 2011 à 20:31
0
Merci
sur windows 7
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 5 nov. 2011 à 20:50
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 6 nov. 2011 à 14:30
0
Merci
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.
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 6 nov. 2011 à 14:53
0
Merci
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
Commenter la réponse de ucfoutu
chris09300 140 Messages postés lundi 9 juin 2008Date d'inscription 18 avril 2012 Dernière intervention - 6 nov. 2011 à 14:53
0
Merci
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
Commenter la réponse de chris09300
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 6 nov. 2011 à 20:01
0
Merci
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
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 6 nov. 2011 à 20:19
0
Merci
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
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.