• Initiateur de la discussion Initiateur de la discussion bloomby
  • 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 !

bloomby

XLDnaute Occasionnel
Bonjour à tous,

j'aimerais dans un premier temps savoir comment faire pour ajouter un listview
dans ma toolbox.

Par la suite j'aimerais avoir un exemple,
je joins un fichier avec lequel j'ai créer un listbox mais j'aimerais voir le résultat avec un listview

Merci
 

Pièces jointes

Re : Créer un ListView

Bonsoir bloomby, le forum

Voici ton fichier avec une Listview.
Pour avoir le control :
-Sous VBA, affiche ton USF
-Menu Affichage puis Boite à Outils
-Dans un espace libre de la boite à outils, click droit puis Contrôles Supplémentaires.
-Déroule la liste jusqu'à trouvé (Chez moi ) Microsoft Listview Control, version 6.0 et coche la case.

Ton contrôle est maintenant dispo dans la boite à outils.

Pour te familiariser avec les Listview, regarde ce tuto de MichleXLD ICI

Bonne soirée

A+
 

Pièces jointes

Re : Créer un ListView

Bonjour FIl,
Bonjour Pierre Olivier,

Merci de ton aide, je croyais qu'un listview me permettrais de garde la couleur de mon text, Ex: la colonne D les chiffre son en vert puisqu'il sont positif, parcontre dans mon listview comme dans un listbox impossible de garde cette forme

Est-ce que quelqu'un aurait une solution pour afficher ma plage de donnée dans un userform (tel une photo) car lorsque les valeur son positive je désire quel soit en affiché de couleur verte

merci
 
Re : Créer un ListView

Re,

Tu peux mettre une couleur en fonction de la valeur d'une cellule dans une colonne de la Listview.

Exemple pour la colonne 4, celle du %. Si > 0 : texte en bleu, Si < 0 : texte en rouge.

Code:
Private Sub UserForm_Initialize()

Dim i As Long
With ListView1
    With .ColumnHeaders 'titre de la colonne et largeur et alignement
       .Clear
       .Add , , "Date", 60
       .Add , , "Heure", 60
       .Add , , "Nombre", 55, lvwColumnRight
       .Add , , "%", 40, lvwColumnRight
    End With
 .View = lvwReport
 .FullRowSelect = True
 .Gridlines = True
        ' Chargement des données
        For i = 1 To Sheets("Sheet1").Range("A65536").End(xlUp).Row
           .ListItems.Add , , CDate(Sheets("Sheet1").Cells(i, 1)) '1ère Colonne
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Sheet1").Cells(i, 2) '2ème Colonne
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Sheet1").Cells(i, 3) '3ème Colonne
           .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Sheet1").Cells(i, 4), "0%") '4ème Colonne
             If Sheets("Sheet1").Cells(i, 4) > 0 Then
               .ListItems(.ListItems.Count).ListSubItems(3).ForeColor = &HFF0000
             Else
               .ListItems(.ListItems.Count).ListSubItems(3).ForeColor = &HFF
             End If
        Next
End With
           
End Sub

A+
 
Re : Créer un ListView

Bonsoir à tous,

J’apprends à créer une ListBox avec Excel 2003, et même la plus basique je n’arrive pas à la former, dont voici les étapes si quelqu’un voudrait me dire où ça cloche :

-1° J’ai Feuil1 contenant Bouton1
-2° J’ai crée UserForm1 contenant une ListBox1 (page de code UserForm1 vide)
-3° J’ai mis dans Module1 le code :
PHP:
Sub Bouton1_QuandClic()
     UserForm1.Show
End Sub
Résultat : Bouton1, placé dans Feuil1, fonctionne bien puisqu’il affiche UserForm1

Mais lorsque je remplis la page code de UserForm1 par le code ci-dessous, en rapport au tableau (base de données) se trouvant dans Feuil2, Bouton1 cesse de fonctionner en me souligant en jaune la phrase UserForm1.Show, erreur 35600.

PHP:
Private Sub UserForm_Initialize()
Dim i As Long
With ListView1
    With .ColumnHeaders
       .Clear
       .Add , , "Meuble", 60
       .Add , , "Code Barre", 60
       .Add , , "Nombre", 55
       .Add , , "Bureau", 40
       .Add , , "Etage", 60
       .Add , , "Organisme", 60
       .Add , , "Service", 55
       .Add , , "Section", 40
       .Add , , "Collaborateur", 40
    End With
 .View = lvwReport
 .FullRowSelect = True
 .Gridlines = True
        For i = 1 To Sheets("BD").Range("A65536").End(xlUp).Row
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 1)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 2)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 3)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 4)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 5)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 6)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 7)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 8)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 9)
        Next
End With
End Sub

Fichier :

Cordialement, Kim.
 
Re : Créer un ListView

Bonsoir,

Le principe pour remplir une Listview c'est que l'on alimente la première colonne (par ListView1.ListItems.Add) et ensuite les autres
(par ListView1.ListItems(.ListItems.Count).ListSubItems.Add).

Ce qui revient à faire ceci:

Code:
.../...
.Gridlines = True
        For i = 1 To Sheets("BD").Range("A65536").End(xlUp).Row
           [B].ListItems.Add , , Sheets("BD").Cells(i, 1) '1ère Colonne[/B]
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 2) ' les autres colonnes
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 3)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 4)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 5)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 6)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 7)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 8)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("BD").Cells(i, 9)
        Next
End With
End Sub
A+
 
Re : Créer un ListView

Juste un point si vous permettez bqtr,

Voulant garder les entêtes de colonnes dans la base de données, j’ai changé

PHP:
For i = 1 To Sheets("BD").Range("A65536").End(xlUp).Row

Par

PHP:
For i = 1 To Sheets("BD").Range("A2:A65536").End(xlUp).Row

Ça a supprimé toutes les lignes de la ListView, excepté celle que je ne voulais pas garder.



Merci
 
- 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

Réponses
14
Affichages
505
  • Question Question
Microsoft 365 Suivi charge/capa
Réponses
10
Affichages
370
Réponses
2
Affichages
502
Réponses
5
Affichages
542
Réponses
3
Affichages
302
Retour