Téléchargé 15 fois
Vote des utilisateurs
2
0
Détails
Licence : ActiveState Community
Mise en ligne le 1er mai 2026
Plate-forme :
Windows
Langue : Français
Référencé dans
Navigation
VBA Excel, chargement des données de la feuille de calcul dans un contrôle ListView
VBA Excel, chargement des données de la feuille de calcul dans un contrôle ListView
Exemple de code qui charge les données d'une plage de cellules dans un contrôle ListView
Le code tente d'analyser le type de données de chaque colonne, les affiche dans le ListView en les formattant pour faciliter les tris
possibilité de trier les données du Listview en cliquant sur les titres de colonnes
Liste déroulante permettant de charger les données de 2 listes exemples à titre de démonstration
Le code tente d'analyser le type de données de chaque colonne, les affiche dans le ListView en les formattant pour faciliter les tris
possibilité de trier les données du Listview en cliquant sur les titres de colonnes
Liste déroulante permettant de charger les données de 2 listes exemples à titre de démonstration
Bonjour tototiti, curt, deedolith,
@tototiti : c'est top ! Je me garde ton fichier au chaud
En mettant un point d'arrêt au niveau du End Sub de la procédure InitListView, je me suis aperçu que si on déplace le userform, la listview se "repositionne bien".
Du coup, j'ai modifié la procédure InitListView ainsi pour geler l'affichage comme le proposait @deedolith :
En tout cas, belle contribution !
Bonne journée
@tototiti : c'est top ! Je me garde ton fichier au chaud
Bonjour,
Merci
J'ai essayé (en rendant le contrôle invisible) mais il y a un bug avec les ListViews : si on joue avec leur affichage, ils réapparaissent tout en haut à gauche du Userform (pas là où ils étaient placés au départ)
Donc j'ai laissé tomber...
Merci
J'ai essayé (en rendant le contrôle invisible) mais il y a un bug avec les ListViews : si on joue avec leur affichage, ils réapparaissent tout en haut à gauche du Userform (pas là où ils étaient placés au départ)
Donc j'ai laissé tomber...
Du coup, j'ai modifié la procédure InitListView ainsi pour geler l'affichage comme le proposait @deedolith :
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Sub InitListView(Plage As Range, LV As MSComctlLib.ListView)
Dim ListTypes() As TypCol, i As Long
'L'analyse des types de données se fait sur base des données de la 1ère ligne de données
'Sous la 1ère ligne de titre
Dim ctrl As MSForms.Control
For Each ctrl In LV.Parent.Controls
If ctrl Is LV Then Exit For
Next ctrl
ctrl.Visible = False
ReDim ListTypes(1 To Plage.Columns.Count)
For i = 1 To Plage.Columns.Count
If Plage.Rows.Count > 1 Then
ListTypes(i) = AnalyseTypeCel(Plage.Cells(2, i))
Else
ListTypes(i) = TypCol.EstTexte
End If
Next i
RetraiteDonnees Plage.Value, ListTypes, LV
ctrl.Visible = True
LV.Parent.Top = LV.Parent.Top + 1
LV.Parent.Top = LV.Parent.Top - 1
End Sub |
Bonne journée
Bonjour tototiti2008,
Jolie contribution. Je pense l'adapter pour que ça puisse prendre les différents tableaux dans toutes les feuilles.
Bravo - Beau travail
Jolie contribution. Je pense l'adapter pour que ça puisse prendre les différents tableaux dans toutes les feuilles.
Bravo - Beau travail

Merci de ton intérêt
,
A cause du retraitement des données dans le listview pour que les tris fonctionnent, j'ai peur que ce soit un peu lent sur les grandes listes
A voir à l'usage
A cause du retraitement des données dans le listview pour que les tris fonctionnent, j'ai peur que ce soit un peu lent sur les grandes listes
A voir à l'usage
Hello,
Intéressant !
Par contre, le redimensionnement automatique des colonnes est très moche.
Geler l'affichage pendant cette opération ?
Intéressant !
Par contre, le redimensionnement automatique des colonnes est très moche.
Geler l'affichage pendant cette opération ?
Bonjour,
Merci
J'ai essayé (en rendant le contrôle invisible) mais il y a un bug avec les ListViews : si on joue avec leur affichage, ils réapparaissent tout en haut à gauche du Userform (pas là où ils étaient placés au départ)
Donc j'ai laissé tomber...
Merci
J'ai essayé (en rendant le contrôle invisible) mais il y a un bug avec les ListViews : si on joue avec leur affichage, ils réapparaissent tout en haut à gauche du Userform (pas là où ils étaient placés au départ)
Donc j'ai laissé tomber...
Bonjour,
merci
J'ai intégré ta modification à la version téléchargeable
merci
J'ai intégré ta modification à la version téléchargeable
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.