Charger une listview en fonction d'un nom de feuille variable

blord

XLDnaute Impliqué
Bonjour à tous,

J'aimerais charger le contenu d'une listview en fonction d'un nom de feuille variable qui serait contenu dans un textbox [TextBoxJour], voici ce que j'ai tenté de bricoler sans succès....


Code:
Sub LoadListView1()
Dim f As Worksheet
'Set f = Sheets(feuille)
Set f = TextBoxJour.Value
    
    Dim I As Long
    Dim j As Integer, X As Integer
    Dim somme As Double
   
    With ListView1
    X = .ListItems.Count + 1
    .ListItems.Clear
    
    With .columnHeaders
        .Clear
        .Add , , "Temps", 50, lvwColumnLeft
        .Add , , "Projet", 200, lvwColumnLeft
        .Add , , "Détail", 200, lvwColumnLeft
        .Add , , "Clé", 1, lvwColumnLeft
    End With
 
    .View = 3
    .FullRowSelect = True
    .Gridlines = True
    .labeledit = 1
 
    For I = 2 To Sheets(f).Range("A65536").End(xlUp).Row
    If Left(Sheets(f).Cells(I, 1), 8) = TextBoxCle.Value Then
        .ListItems.Add , , Format(Sheets(f).Cells(I, 2), "0.00")
        X = .ListItems.Count
        somme = somme + .ListItems(X)
        .ListItems(X).ListSubItems.Add , , Sheets(f).Cells(I, 3)
        .ListItems(X).ListSubItems.Add , , Sheets(f).Cells(I, 4)
        .ListItems(X).ListSubItems.Add , , Sheets(f).Cells(I, 1)
    End If
    Next
    TextBoxHeures.Value = Format(somme, "0.00")
    End With
End Sub

Merci pour votre aide !

Blord
 

blord

XLDnaute Impliqué
Re : Charger une listview en fonction d'un nom de feuille variable

Bonjour tototiti2008, le forum

En effet, je n'ai pas été très précis :

Le textbox récupère dans une table le nom de la feuille soit DIM, LUN, MAR, MER ... SAM
J'ai des feuilles nommées de la même façon....

Je viens même de copier directement le nom d'une des feuilles dans le textbox (sans passer par la table) mais la même erreur se produit...

Message :
Objet requis

Ligne de code en jaune :
Set f = TextBoxJour.Value

J'ai pourtant une feuille qui correspond à la valeur contenu dans le textbox ??

Merci de m'aider !

Blord
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Charger une listview en fonction d'un nom de feuille variable

Re,

ah oui, j'avais pas vu le Set

Solution 1 :

Code:
Dim f as Woksheet
Set f = Thisworkbook.Worksheets(TextBoxJour.Value)
....

puis remplace tous les "Sheets(f).XXX" par "f.XXX"

Solution 2 :

Code:
Dim f as String
f = TextBoxJour.Value

sans Set : Set est réservé à l'affectation d'objet, Value ne renvoie pas d'objet
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94