job75
XLDnaute Barbatruc
Bonjour le forum,
Je n'ai trouvé nulle part de solution pertinente sur cette question mais j'en ai trouvé une pour ce fil :
https://www.excel-downloads.com/threads/visualisez-des-mauvais-accents.20015643/page-2#post-20116697
Elle utilise la propriété IntegralHeight de la ListBox.
Pour généraliser j'ai étudié la question pour les 2 types de ListBox, dans une feuille et dans un UserForm.
Voyez le fichier joint et ces 2 macros :
Il se produit des choses bizarres dans chaque macro :
- dans la 1ère, nécessité de masquer la ListBox
- dans la 2ème, nécessité de deux DoEvents.
A+
Je n'ai trouvé nulle part de solution pertinente sur cette question mais j'en ai trouvé une pour ce fil :
https://www.excel-downloads.com/threads/visualisez-des-mauvais-accents.20015643/page-2#post-20116697
Elle utilise la propriété IntegralHeight de la ListBox.
Pour généraliser j'ai étudié la question pour les 2 types de ListBox, dans une feuille et dans un UserForm.
Voyez le fichier joint et ces 2 macros :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'MAJ ListBox de la feuille
Dim z, i%, marges#
z = ActiveWindow.Zoom
Application.ScreenUpdating = False
If z <> 100 Then ActiveWindow.Zoom = 100
With ListBox1
.Visible = False 'curieusement indispensable
.List = [A4].CurrentRegion.Value
.IntegralHeight = False: .Height = 0: .IntegralHeight = True: marges = .Height 'aucune ligne affichée
.IntegralHeight = False: .Height = marges + .Font.Size: .IntegralHeight = True '1 ligne affichée
.Height = (.Height - marges) * .ListCount + marges + 1 'toutes les lignes affichées
.Visible = True
End With
ActiveWindow.Zoom = z
End Sub
Code:
Private Sub UserForm_Initialize()
Dim z, i%, marges#
With ListBox1
.IntegralHeight = False: .Height = 0: .IntegralHeight = True: marges = .Height 'aucune ligne affichée
.List = [A4].CurrentRegion.Value
.IntegralHeight = False: .Height = marges + .Font.Size '1 ligne affichée
DoEvents
.IntegralHeight = True
.Height = (.Height - marges) * .ListCount + marges + 1 'toutes les lignes affichées
DoEvents
Me.Height = .Height + 45
End With
End Sub
- dans la 1ère, nécessité de masquer la ListBox
- dans la 2ème, nécessité de deux DoEvents.
A+