Programmer listview userform
Résolu
coraliie.c
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
coraliie.c Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
coraliie.c Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
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 :
Merci pour votre aide
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
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
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 !
Voici mon fichier :
https://www.cjoint.com/?DLjiKQaZaQm
J'ai essayé de commencé à programmer l'userform2 mais j'avoue que je galère !
Remplacé clients par année et les colonnes "A1:D" & derl
Bon courage
C'est exactement ce qu'il me fallait.