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

  • Initiateur de la discussion Initiateur de la discussion blord
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Réponses
3
Affichages
546
Réponses
3
Affichages
611
Réponses
7
Affichages
116
Retour