En fait, j'ai eu le même problème dans le passé. Ce qui fonctionne le mieux pour moi, c'est le code VBA suivant. J'ai trouvé la relation linéaire par simple essai et erreur.
Le code fonctionne pour les cellules individuelles, mais aussi pour une sélection. Dans ce dernier cas, les carrés sont basés sur la largeur ou la hauteur totale de la sélection.
Sub MakeCellSquareByColumn()
Selection.RowHeight = Selection.Width / Selection.Columns.Count
Selection.ColumnWidth = (((Selection.Width / Selection.Columns.Count) / 0.75 - 5) / 7)
End Sub
Sub MakeCellSquareByRow()
Selection.ColumnWidth = (((Selection.Height / Selection.Rows.Count) / 0.75 - 5) / 7)
Selection.RowHeight = Selection.Height / Selection.Rows.Count
End Sub
Vous pouvez placer ces macros dans un module et leur attribuer des boutons dans la barre d'outils d'accès rapide
Notez que les carrés disparaissent (par une modification de la largeur de la colonne) lorsque vous changez le type ou la taille de la police. Ceci est dû à la façon dont Excel calcule la largeur de la colonne. Voir : https://support.microsoft.com/en-us/help/214123/description-of-how-column-widths-are-determined-in-excel