Programmer listview userform

Résolu
coraliie.c Messages postés 22 Statut Membre -  
coraliie.c Messages postés 22 Statut Membre -
Bonjour,

Je souhaite programmer un userform avec un Listview (qui reprendrait le tableau d'une de mes feuilles) que je pourrait trier.
Seulement je suis débutante en vba.

J'ai trouvé ce code en cherchant sur internet mais je ne sais pas comment l'adapter à mon tableau.

Est ce que quelqu'un pourrait m'indiquer les plages à changer ?

Voici le code :

Private Sub ListView1_Click()

With Me.ListView1
l = .SelectedItem.Index
TextBox1 = .ListItems(l).Text
For c = 1 To 10
Me("TextBox" & c + 1) = .ListItems(l).ListSubItems(c).Text
Next c
End With

End Sub

Private Sub UserForm_Initialize()
    ' Initialisation du listview
    With ListView1
        With .ColumnHeaders
            ' Vider le listview
            .Clear
    ' Id Client   Nom Prénom  Société Adresse Ville   CP  Adresse mail    Téléphone fixe  Téléphone portable  Fax
       
            'Ajouter les colonnes
            .Add , , "Id Client", 70
            .Add , , "Nom", 70
            .Add , , "Prénom", 70, lvwColumnRight
            .Add , , "Société", 70, lvwColumnCenter
            .Add , , "Adresse", 60, lvwColumnCenter
            .Add , , "Ville", 60, lvwColumnCenter
            .Add , , "CP", 50
            .Add , , "Adresse mail", 60, lvwColumnRight
            .Add , , "Téléphone fixe", 60, lvwColumnCenter
            .Add , , "Téléphone portable", 60, lvwColumnCenter
            .Add , , "Fax", 60, lvwColumnCenter
        End With
    
        .View = 3                   ' type Report
        .Gridlines = True           ' affichage de lignes
        .FullRowSelect = True       ' sélection complète de la ligne
        .HideColumnHeaders = False  ' afficher les en-têtes de colonnes
        .LabelEdit = 1              ' ne pas autoriser la saisie
    End With
IniListview
End Sub

Private Sub IniListview()

With Worksheets("Clients")
derl = .Range("A65536").End(xlUp).Row
Tbl = .Range("A2:K" & derl)
End With

    With ListView1
    For l = 1 To UBound(Tbl, 1)
    .ListItems.Add , , Tbl(l, 1)
    For c = 2 To UBound(Tbl, 2)
    .ListItems(.ListItems.Count).ListSubItems.Add , , Tbl(l, c)
    Next
    Next
    
    End With
    
End Sub


Merci pour votre aide

3 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    voici le code:

    Private Sub UserForm_Initialize()
    'Exemple 1 : Comment alimenter un Listview
     ' Initialisation du listview
        With ListView1
            With .ColumnHeaders
                ' Vider le listview
                .Clear
           
                'Ajouter les colonnes
                .Add , , "Nom", 80
                .Add , , "Prénom", 80
                .Add , , "Habilitation", 80
                .Add , , "Prochain Recyclage", 80
                End With
        
            .View = 3                   ' type Report
            .Gridlines = True           ' affichage de lignes
            .FullRowSelect = True       ' sélection complète de la ligne
            .HideColumnHeaders = False  ' afficher les en-têtes de colonnes
            .LabelEdit = 1              ' ne pas autoriser la saisie
        End With
    IniListview
    
    End Sub
    Private Sub IniListview()
    
    With Worksheets("Année")
    derl = .Range("A65536").End(xlUp).Row
    Tbl = .Range("A1:D" & derl)
    End With
    
        With ListView1
        For L = 1 To UBound(Tbl, 1)
        .ListItems.Add , , Tbl(L, 1)
        For c = 2 To UBound(Tbl, 2)
        .ListItems(.ListItems.Count).ListSubItems.Add , , Tbl(L, c)
        Next
        Next
        
        End With
        
    End Sub
    
    

    3
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      c'est le même que tu as trouvé sur le net, il fallait juste adapter les données!
      Remplacé clients par année et les colonnes "A1:D" & derl

      Bon courage
      0
    2. coraliie.c Messages postés 22 Statut Membre
       
      Merci beaucoup !

      C'est exactement ce qu'il me fallait.
      0
  2. Maurice
     
    Bonjour

    Donne au moins un model pour voir ce que tu as fait

    Maurice
    0
    1. coraliie.c Messages postés 22 Statut Membre
       
      Bonjour Maurice

      Voici mon fichier :

      https://www.cjoint.com/?DLjiKQaZaQm

      J'ai essayé de commencé à programmer l'userform2 mais j'avoue que je galère !
      0