Bonjour,
Excel semble se souvenir de la largeur de colonne de la 1ère validation.
Sur un classeur neuf tu élargis une colonne, tu y mets une validation, tu choisis une validation avant de réduire ta colonne et il conserve la 1ère largeur de liste.
Problème : il perd tout à la fermeture.
J'ai tenté de le simuler dans workbookOpen et ça a l'air de marcher...
Regarde B2.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Sheets(1).Columns("B:B").ColumnWidth = 23
End Sub
Private Sub Workbook_Open()
Dim sav As String, shAct As Worksheet
Set shAct = ActiveSheet ' sauvegarde feuille active
Application.ScreenUpdating = False
With Sheets(1)
.Activate
.Columns("B:B").ColumnWidth = 23
sav = .[B2] ' 'sauvegarde cellule
.[B2].Select
.[B2] = Sheets(1).[E2] ' 1ère validation
.Columns("B:B").ColumnWidth = 11
.[B2] = sav ' restauration cellule
End With
shAct.Activate ' restauration feuille active
End Sub
Bizarrement cette largeur initiale affecte toutes les listes déroulantes, qcq soit la colonne (voir G2). A la limite tant mieux.
Si tu crées une nouvelle validation parfois on perd cette largeur initiale. Il suffit de fermer et d'enregistrer le classeur avec la colonne mise en grande largeur (ou d'activer la ligne dans beforeclose).
Bon, c'est un début, il y a sans doute des améliorations à trouver.
A toi de voir si la piste te plait et convient à ton classeur (et de tester sur la durée....)
eric