| ||||||||
Je cherche à savoir s'il est possible d'insérer une barre de progression dans une colonne d'une listview. Pour l'instant j'ai trouvé une solution soit avec une progressbar ou zone de texte où l'on fait jouer la largeur. Ce n'est pas pratique d'aligner ces objets à côté de la listview. D'où ma question d'ajouter une colonne où je puisse insérer la barre dans une colonne de la listview. Est ce que l'un d'entre vous aurait déjà fait cela...... je suis sous excel 2013. Merci à tous de votre aide. Alain
[Configuration automatique à compléter]
| ||||||||
Publicité | ||||||||
Astucien ![]() | Bonjour, Post supprimé car il s'agit ici d'une ListView et mon blabla sur la ListBox n'avait rien de pertinent D. Modifié par Debrief le 19/04/2019 21:28 | |||||||
Bonjour Debrief, En fait j'avais mis des objets en regard de mes listview(s)... ici ce sont des zones de libellés modifiables en largeur où je peux inscrire le % du budget utilisé. Inconvénients: a) si la barre est trop petite en pourcentage, je ne vois plus la valeur affichée. b) Si j'utilise un Progressbar, je ne peux pas indiquer la valeur de la progression (à moins de mettre encore à côté la valeur) c) l'alignement en face du listview est assez difficile J'ai vu sur le net qu'il est est possible de mettre une progressabr dans une listview , MAIS EN VISUAL BASIC(VB) D'où l'idée de demander à l'entre vous si vous aviez été déjà confontrés à à ce genre de demande en fait | ||||||||
Astucien ![]() | Ok, ce n'est pas une barre de progression au sens habituel mais plus une série d'indicateurs de niveau de % ou de remplissage statiques.
As-tu le lien qui en parle ?
Modifié par Debrief le 19/04/2019 21:30 | |||||||
Debrief, Merci pour ton aide. Juste une information que j'ai oublié de vous donner, c'est que la listview fait partie d'un Userform plein écran avec une synthèse du budget permettant de savoir si les ateliers sont hors budget et le % indiquant combien ils ont déjà grillé. Les objets se situant sur la droite indique le taux du budget utilisé sont des libellés coloriés en vert avec la largeur variable en fonction du taux. Alain
| ||||||||
Astucien ![]() | En fait je me rends compte que je ne sais pas ce qu'est une ListView, donc c'est difficile de répondre sur la base d'une ListBox ! | |||||||
Une listbox est limite à 9 ou 10 colonnes, alors qu'une listview n'est pas limitée..... et c'est beaucoup plus puissant qu'une listbox.
| ||||||||
Astucien ![]() | Bon, j'ai pu créer une ListView mais je n'ai aucune idée de comment y mettre une "barre de progression" en colonne Mettre des images mais il en faudrait tellement pour représenter les %. Faut aller voir sur le Web Embedding Controls in a ListView ! Modifié par Debrief le 20/04/2019 00:56 | |||||||
Astucien ![]() | Pas facile de trouver sur Internet, il y a beaucoup de liens mais c'est du charabia dans des projets complexes en VB.NET ou C#.
Ici un exemple avec 10 ProgressBars définies dans le UserForm et donc 10 lignes de la ListView les utilisant. Il faudrait donc en théorie, définir un nombre de ProgressBars suffisant pour couvrir la max de lignes affichées par la ListView. Dis-moi si ce genre de manip t'intéresse... Il reste le % à indiquer, je n'ai pas trouvé de propriété qui permette de le faire dans la ProgressBar. Le plus simple serait d'avoir une colonne dédiée au %. Modifié par Debrief le 20/04/2019 21:52 | |||||||
Publicité | ||||||||
Bonsoir Debrief,
Cela à l'air pas mal ta méthode et cela pourrait me convenir d'autant que ma barre de progression est un pourcentage, donc de 0 à 100. maintenant cela fait beaucoup de progressbar , mais je ne comprends pas trop la manière de les faire apparaitre dans la listview..... as tu un fichier même non terminé ?
En tout cas je te remercie de ton aide...... je suis en train de regarder le lien que tuas mis en allemand (traduit en français) Alain | ||||||||
Astucien ![]() | Le fichier -> https://www.cjoint.com/c/IDvej2uzGL1 C'est normal d'avoir à définir 1 ProgressBar par ligne car chacune de ces ProgressBars ensuite déplacée dans la ListView est un objet indépendant qui peut subir des modifications propres, notamment concernant l'évolution de la propriété ProgressBar.Value qui est quand même l'intérêt principal d'une ProgressBar dont l'objet est de... progresser :). Une solution serait de créer des ProgressBars dynamiquement mais je n'ai rien trouvé pour le faire. Ça parait improbable. J'ai quand même posé une question sur StackOverFlow. D. | |||||||
Astucien ![]() | Une autre solution un peu "tirée par les cheveux" consiste à aligner 2 ListViews. Hélas, pour une même Font.Size de la ListView, "Webdings" est plus haut que le défaut "Calibri" par exemple. Donc les lignes ne sont pas en regard les unes des autres.
Voilà quand même le fichier -> https://cjoint.com/c/IDvlYO4erl1 avec 4 résolutions de % possibles: 'Const CharBarreStringLen = 20 '20 => Resolution 5% Plus la résolution est petite, plus la colonne de la barre est grande évidemment car on doit y placer plus de caractères "Webdings" Chr(103) pour représenter le %. Modifié par Debrief le 21/04/2019 14:14 | |||||||
Astucien ![]() | En VB.NET les choses semblent plus simples: https://codes-sources.commentcamarche.net/faq/923-ajouter-des-controles-dans-une-listview | |||||||
Bonjour Debrief,
Finalement, j'ai utilisé ma méthode que tu peux voir dans le fichier ci-joint. Encore merci pour toutes tes recherches sur Internet.. Effectivement cela à l'air plus facile avec le VB.net
Encore Merci Alain Alain | ||||||||
Astucien ![]() | Ok, je suppose que tu fais donc l'alignement programme par rapport aux lignes de la ListView. Qu'est-ce que tu as utilisé comme objets pour les pourcentages (visuel vert, cadre et texte) ? | |||||||
Pour les barres vertes, j'utilise 2 contrôles "Libellé" (le label) Le 1er libellé colorié en vert sera dimensionné en largeur par le calcul et sera visible en arrière plan l'autre libellé sert à indiquer la valeur en pourcentage, en mode transparent et en premier plan les 2 libellés de mêmes dimensions sont donc superposés | ||||||||
Astucien ![]() | Ok, c'est ce que j'imaginais mais je voulais ta confirmation. Et aussi confirmation de 2 points: Ci-joint un fichier illustrant ta méthode simple et efficace pour ces barres de statut en génération dynamique des Labels et positionnement calculé VBA -> https://cjoint.com/c/IDxiEOypLYf
Modifié par Debrief le 23/04/2019 10:33 | |||||||
Publicité | ||||||||
Pour ma synthèse, j'ai placé manuellement les objets, mais c'est vrai que j'aurais pu le faire par vba | ||||||||
Astucien ![]() | Tu peux éventuellement te servir directement de la fonction Sub InsertLabelsPourcentage() qui est générale et prévoit dans la version délivrée à l'instant sur cjoint tout une série de paramètres (avec valeurs par défaut) pour le contrôle du format des labels qui sont générés et placés automatiquement dans le UserForm. Rien à faire | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | |||||||||||||||
|
Sujets relatifs | ||
|