Pour fixer la largeur des colonnes d'une feuille Excel avec VBA, on doit utiliser la propriété ColumnWidth (car Width appliquée à une plage de cellules est en lecture seule)
Malheureusement, la valeur que doit prendre la propriété ColumnWidth doit être exprimée en "nombre de caractères de la police par défaut". Non seulement ce nombre dépend donc de cette police, mais il n'est même pas proportionnel à la largeur souhaitée.
D'où l'intérêt de faire un petit développement pour contourner ce problème.
À noter que pour fixer la hauteur des lignes, la valeur que doit prendre la propriété RowHeight est exprimée en points, soit 1/72 pouce, ce qui ne pose aucun problème.
La réalisation et les commentaires détaillés sont dans le fichier joint.
Malheureusement, la valeur que doit prendre la propriété ColumnWidth doit être exprimée en "nombre de caractères de la police par défaut". Non seulement ce nombre dépend donc de cette police, mais il n'est même pas proportionnel à la largeur souhaitée.
D'où l'intérêt de faire un petit développement pour contourner ce problème.
À noter que pour fixer la hauteur des lignes, la valeur que doit prendre la propriété RowHeight est exprimée en points, soit 1/72 pouce, ce qui ne pose aucun problème.
La réalisation et les commentaires détaillés sont dans le fichier joint.
- Auteur
- François Cordier
- Version
- 1.0
C'est quoi les autres méthodes ?
J'avais bien essayé une boucle qui permet de se rapprocher de la valeur cible par dichotomie, ça marche à 100% mais c'est un peu lourd...