problèeme récupération de donnée et listview

marleauc

XLDnaute Occasionnel
Bonjour ou bonsoir pour certain,

j'éprouve encore un problèeme au niveau de la formule pour récupérer dans le listview3 l'info provenant de la feuille (base). Pour les autres listview c'est ok

de même que les titre de colonnes.


voici la formule inscrite
rivate Sub AlimenteTb()
Dim Lgn As Range, Bcle&, c As Range, adresse$
Set Lgn = PlageBase(IndexBase, 1)
For Bcle = 1 To ColTb.Count
ColTb(Bcle).Text = Lgn(1, Bcle).Value
Next Bcle
LabIndex = "Fiche " & IndexBase & " sur " & PlageBase.Rows.Count
ListView1.ListItems.Clear
With Sheets("evenement")
Set c = .Columns(1).Find(ColTb(3), lookat:=xlWhole)
If Not c Is Nothing Then
adresse = c.Address
Do
With ListView1
.ListItems.Add , , c
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 2)
End With
Set c = .Columns(1).FindNext(c)
Loop While Not c Is Nothing And c.Address <> adresse
End If
End With
ListView2.ListItems.Clear
With Sheets("feuil2")
Set c = .Columns(1).Find(ColTb(3), lookat:=xlWhole)
If Not c Is Nothing Then
adresse = c.Address
Do
With ListView2
.ListItems.Add , , c
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(c.Offset(, 2), "hh:mm")
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(c.Offset(, 3), "hh:mm")
End With
Set c = .Columns(1).FindNext(c)
Loop While Not c Is Nothing And c.Address <> adresse
End If
End With
ListView3.ListItems.Clear
With Sheets("Base")
Set c = .Columns(1).Find(ColTb(3), lookat:=xlWhole)
If Not c Is Nothing Then
adresse = c.Address
Do
With ListView3
.ListItems.Add , , c
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 1)
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 2)
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 3)
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 7)
.ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(, 8)

End With
Set c = .Columns(1).FindNext(c)
Loop While Not c Is Nothing And c.Address <> adresse
End If
End With
End Sub
 

Pièces jointes

  • Marleauc01.zip
    41.9 KB · Affichages: 44

ERIC S

XLDnaute Barbatruc
Re : problèeme récupération de donnée et listview

Bonsoir

je ne suis pas imprégné de ton appli mais

pour listview 1 et 2, tu regardes en colonne 1 des feuilles si tu trouves un numéro de permis

pour listview 3 même chose alors que les permis sont en colonne 3 de la feuille base

que veux tu afficher dans listview 1 : toute les lignes de la feuille base?

Code:
    ListView3.ListItems.Clear
  With Sheets("Base")
    i = 2
        While Not .Cells(i, 1).Value = ""
            With ListView3
                .ListItems.Add , , Cells(i, 1).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 1).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 2).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 6).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 7).Value
            End With
        i = i + 1
        Wend
    End With
 
Dernière édition:

marleauc

XLDnaute Occasionnel
Re : problèeme récupération de donnée et listview

salut eric,

merci de ton temps, comme je tentais d'expliquer je n'ai aucun problème pour les listview 1 et 2 , ils affichent ce que je veux, mon problème est la listview 3, qui n'affiche rien.

j'aimerais bien que la listview3 puisse afficher les cellules tel que demandé soit 1,2,3,7,8

merci de ton temps, de plus mon désir apres c'est que lorsqu'on cliqueras , bien les info de la ligne sélectionné seront retransmis dans les textbox relié.

merci
 

ERIC S

XLDnaute Barbatruc
Re : problèeme récupération de donnée et listview

re

listview 3 n'affiche rien car il ne trouve rien


Code:
Set c = .Columns(1).Find(ColTb(3), lookat:=xlWhole)
If Not c Is Nothing Then
le test est faux car ton colTb cherche unnuméro de permis alors que la colonne A de Base est le nom

en listview3 veux-tu afficher toute la liste des noms? si oui en remplaçant les lignes concernant listview3 par celles proposées dans ma première réponse, cela doit marcher
 

PRAETOR

XLDnaute Nouveau
Re : problèeme récupération de donnée et listview

Bonjour,

je reprends le code d'Eric mais il te faut changer son emplacement.
Mets le à la fin de ta "Sub IniListiew()", aprés les 4 End With.
N'oubli pas de rajouter "Dim Ligne As Integer" au début de ta Sub.


ListView3.ListItems.Clear
With Sheets("Base")
Ligne = 2
While Not .Cells(Ligne, 1).Value = ""
With ListView3
.ListItems.Add , , Cells(Ligne, 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 2).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 6).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 7).Value
End With
Ligne = Ligne + 1
Wend
End With


et modifier "Private Sub ListView3_Click()" ainsi :
Private Sub ListView3_Click()
SpinBBase = Me.ListView3.SelectedItem.Index
IndexBase = SpinBBase.Value
AlimenteTb
End Sub

Désolé si la mise en page n'est pas top, mais c'est la première fois que je post quelque chose sur le forum et je maitrise pas tout.
Comment à fait Eric pour mettre son code dans un cadre ???:confused:

A+
 

PRAETOR

XLDnaute Nouveau
Re : problèeme récupération de donnée et listview

Re Bonjour,

je reprends le code d'Eric mais il te faut changer son emplacement.
Mets le à la fin de ta "Sub IniListiew()", aprés les 4 End With.
N'oubli pas de rajouter "Dim Ligne As Integer" au début de ta Sub.

Code:
ListView3.ListItems.Clear
With Sheets("Base")
Ligne = 2
While Not .Cells(Ligne, 1).Value = ""
With ListView3
.ListItems.Add , , Cells(Ligne, 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 2).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 6).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Cells(Ligne, 1).Offset(, 7).Value
End With
Ligne = Ligne + 1
Wend
End With

et modifier "Private Sub ListView3_Click()" ainsi :

Code:
Private Sub ListView3_Click()
SpinBBase = Me.ListView3.SelectedItem.Index
IndexBase = SpinBBase.Value
AlimenteTb
End Sub

Et voila pour la présentation de ma réponse, il suffisait de chercher :rolleyes:

A+
 

PRAETOR

XLDnaute Nouveau
Re : problèeme récupération de donnée et listview

Bonjour,

a tu bien retiré le code ci-dessous de ta procédure "AlimenteTB" ?

Code:
 ListView3.ListItems.Clear
  With Sheets("Base")
    i = 2
        While Not .Cells(i, 1).Value = ""
            With ListView3
                .ListItems.Add , , Cells(i, 1).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 1).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 2).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 6).Value
                .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, 1).Offset(, 7).Value
            End With
        i = i + 1
        Wend
    End With

et vérifie que tu n'ai pas laissé trainer un "ListView3.ListItems.Clear".

Sinon remet nous ton fichier...

A+
 

Discussions similaires

Réponses
1
Affichages
194

Statistiques des forums

Discussions
314 221
Messages
2 107 483
Membres
109 834
dernier inscrit
hugues99