Bonjour à tous
l'objet "ListView" me semble plus intéressant que l'objet "ListBox" (ligne de titre, couleurs des écritures, taille des colonne modifiables, ...)
Pour obtenir cet objet :
- Créer un "UserForm" sous VBA
- Ouvrir cette "UserForm" et sélectionner-la
- Dans le menu "Affichage", sélectionner "Boite à outils" (la fenêtre "Boite à outils" doit s'afficher)
- Dans le menu "Outils", l'option "Contrôles suppémentaires..;" doit avoir été dégrisé (si ce n'est pas le cas, c'est que la fenêtres "Boite à outils" n'est pas affichée)
- Cliquer sur "Contrôles supplémentaires..."
- Cocher la ligne "Microsoft ListView Control version xxx" (la version peut changer suivant vos installations)
La fenêtre "Boite à outils" doit contenir maintenant un outils supplémentaire nommé "ListView".
Il suffit de l'ajouter dans votre "UserForm", de le nommer (paramètre "(name)"), de modifier éventuellement certains paramètres de cet objet, et de le remplir à votre manière.
Je n'entre pas dans les détails de ce remplissage, mais mais question est la suivante :
Comment obtenir dans une case (un élément, une cellule, un item, ...) une valeur qui soit indiquée sur plusieurs lignes ? Exemple :
Si je modifie la valeur d'une cellule par cette instruction : (UserForm).ListItems(1).ListSubItems(5).Text = "a" & VbCrLf & "b"
- Je n'obtiens pas "a" sur la 1ère ligne et "b" sur la 2ème
- J'obtiens "ab" écrit sur une seul ligne.
Est-ce impossible ? Est-ce un paramétrage particulier général à l'objet, à la cellule, est-ce une mauvaise instruction ?
Merci d'avance pour votre aide.
Jean-Marie
Partager