Pour faire d'une cellule un carré, définissez sa largeur souhaitée puis utilisez
cell.RowHeight = cell.Width
Assurez-vous de ne pas utiliser .Height
ou .ColumnWidth
- pourquoi?
.Height
(et .Width
) semblent être en lecture seule.
.ColumnWidth
est mesurée dans les unités étranges dont tout le monde parle ici.
J'ai manuellement mis une cellule en carré dans Excel (à une taille de 20,71 "quelque chose", et 150 "pixels") et j'ai regardé ses propriétés en VBA:
Donc, vous voyez comment chaque réponse manipulant .ColumnWidth
doit être très compliquée - et dans mon cas, une solution qui a fonctionné à 100% (niveau de zoom Windows 10) a échoué à 125% de zoom. Il existe toute une série de questions liées au paramétrage des colonnes à la largeur souhaitée (en pixels ou dans toute autre unité), mais ce n'est pas vraiment de cela que traite cette question. Encore une fois, définissez la largeur (manuellement ou de toute autre manière), puis définissez la hauteur en fonction de la largeur.
Cette réponse est inspirée de la réponse de @AmitPanasara, n'oubliez pas de voter pour la sienne également si vous aimez celle-ci.