Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Je devrais alimenté une ListBox depuis un tableau, et j'aimerais bien avoir un auto ajustement des colonnes de ma liste selon la largeur des données du tableau.
Dim a As Range, x, b, tablo
For x = 1 To 3 'pour 3 colonnes
Set a = Feuil1.Cells(1, x)
b = b & ";" & a.ColumnWidth * 5 'A adapter suivant police
Next
b = Mid(b, 2)
ListBox1.ColumnWidths = b
tablo = Feuil1.Range("a1:c10")
ListBox1.List = tablo
Dim a As Range, x, b, tablo
For x = 1 To 3 'pour 3 colonnes
Set a = Feuil1.Cells(1, x)
b = b & ";" & a.Width + 3 'A adapter suivant police
Next
b = Mid(b, 2)
ListBox1.ColumnWidths = b
tablo = Feuil1.Range("a1:c10")
ListBox1.List = tablo
Pour le nombre de colonne d'un tableau VBA (2eme dimension du tableau ici)
Code:
Ubound(tablo, 2)
Par contre, il n'est pas possible de connaitre la largeur d'une colonne d'un tableau VBA mais il est possible de connaître le nombre de caractère du plus grand élément qu'il contient.
le soucis c'est que la largeur d'un contrôle s'exprime en point pas en largeur de caractères...
Il faut "bricoler" en faisant des tests en multipliant la largeur du texte.
Cw1 * 4 et Cw2 * 5 a l'air de donné de bon résultat:
le problème pour la largeur dépend de la police utilisée !?
il faut mettre une police où tous les caractères ont la même largeur.
soit la police "Courier New" avec Size 8 et un multiplicateur de 6
1) Ne peut-on pas trouver une valeur pour remplacer "Taille" en rapport entre la taille des caractères dans les cellules et celle des caractères dans la ListBox ? parce qu’on est obligé à chaque fois d'élargir au mieux la ListBox pour pouvoir afficher toutes ces colonnes.
2) la largeur "ColumnWidths" des colonnes d'une ListBox est donnée en pt. Alors quelle est la mesure "Font.Size" des caractères ?
1) Ne peut-on pas trouver une valeur pour remplacer "Taille" en rapport entre la taille des caractères dans les cellules et celle des caractères dans la ListBox ? parce qu’on est obligé à chaque fois d'élargir au mieux la ListBox pour pouvoir afficher toutes ces colonnes.
comprend pas !? c'est ce que tu voulais adapter la largeur de ListBox !?
peu importe la police et la taille dans les cellules, ils n'ont aucun rapport dans la ListBox !?
et puis comme je l'ai dis la longueur du texte n'a rien à voir avec le nombre de caractères ! ci-dessous 10 i et 10 m ! ils n'auront pas la même longueur à l'affichage !?
iiiiiiiiii
mmmmmmmmmm
mais avec la police Courier New on a la même longueur !
2) la largeur "ColumnWidths" des colonnes d'une ListBox est donnée en pt. Alors quelle est la mesure "Font.Size" des caractères ?
eh bien oui ! là encore c'est pour cela qu'il faut:
une police "Courier New" pour avoir tous les caractères de même longueur à l'affichage !
ici Taille de police 8 et le multiplicateur de 6 à cause des Pt
si tu veux changer la taille il faut faire des essais avec le multiplicateur !
réponse à tes questions (-)
-Donc la police "Courier New" est la seule qui règle le problème ?
oui ! tu peux faire un essai pour voir le comportement du texte dans Word avec différente police (peut être en trouveras tu une autre !? (mais courier new est dispo partout)
-Est-ce qu'il est nécessaire d'ajouter un "+20" dans la largeur de la ListBox ?
oui ! c’est pour l'ascenseur quand la liste est plus longue que l'affichage visible ! (+20 voir+25)
-On voit parfois des espaces entre les colonnes, est-ce normal ?
oui ! il n'est pas évident d'être aussi précis en rapport police et Pt !
-Les chiffres sont alignés à gauche au lieu d'avoir une format "Comptabilité" est alignés selon cette format ?
comprend pas la question !? mais si c'est pour l'alignement dans listbox tout est en texte !
- 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