Bonjour à toutes et à tous
Dans le cadre d'une présentation, je cherche à faire des cellules carrées.
Donc je vous soumets les petits codes que j'ai réalisé.
Ensuite, je vous expose ma doléance.
Pour le retour à la grille d'origine.
'============================================
Sub CelluleStandard()
Dim Lm%, i%, J%
Sheets("Feuil2").Activate
Application.ScreenUpdating = False
ActiveWindow.DisplayGridlines = True
Lm = 256
For i = 1 To Lm
Cells(i, 1).RowHeight = 12.75
Next
For J = 1 To Lm
Cells(1, J).ColumnWidth = 10.71
Next
For i = 1 To Lm
For J = 1 To Lm
Cells(i, J).Interior.Color = Blanc
Next
Next
ActiveWindow.DisplayGridlines = True
Application.ScreenUpdating = True
Cells(1, 1).Select
End Sub
'===========================================
Lancement cellules carrées
'===========================================
Sub CelluleCarré()
Dim i%
Sheets("Feuil2").Select
Application.ScreenUpdating = False
For i = 1 To 10
DimensionCellule i, i
Next i
Application.ScreenUpdating = True
Cells.Select
Range("IV1").Activate
Selection.EntireColumn.Hidden = False
Range("A1").Select
Cells(1, 1).Activate
End Sub
'===========================================
Fonction cellules carrées
'============================================
Function DimensionCellule(ByVal X As Long, ByVal Y As Long) ', ByVal p As Long)
Dim h%, Point&, rng&, rng1&
Dim hauteur&, largeur&, rapport&
Cells(X, Y).Select
h = 10 '0.7 'dimension en millimètre, valeur limite = 0.7mm
Point = h / 0.35
'--------- hauteur en référence --------
With Selection
.RowHeight = Point
End With
'---------------------------------------
'asservissement pour avoir les cellules carrées
Do
rng = ActiveCell.Width
rng1 = ActiveCell.Height
hauteur = ActiveCell.RowHeight
largeur = ActiveCell.ColumnWidth
rapport = rng / rng1
With Selection
.RowHeight = hauteur
.ColumnWidth = largeur / rapport
End With
Loop Until rapport = 1
End Function
'============================================
Ces modules sont à placer sur la feuille2
Avec ceci, je fais des cellules de n'importe quel taille, sauf quelles ne sont pas tout à fait carrées.
Par exemple pour une taille de 10mm de coté.
j'obtiens 47 pixels en largeur et 38 pixels en hauteur
Je n'arrive pas à faire mon asservissement sur les pixels.
Si quelqu'un peut me donner une piste.
En fait c'est surtout pour la beauté du résultat.
Bien amicalement
Jean-Paul
Dans le cadre d'une présentation, je cherche à faire des cellules carrées.
Donc je vous soumets les petits codes que j'ai réalisé.
Ensuite, je vous expose ma doléance.
Pour le retour à la grille d'origine.
'============================================
Sub CelluleStandard()
Dim Lm%, i%, J%
Sheets("Feuil2").Activate
Application.ScreenUpdating = False
ActiveWindow.DisplayGridlines = True
Lm = 256
For i = 1 To Lm
Cells(i, 1).RowHeight = 12.75
Next
For J = 1 To Lm
Cells(1, J).ColumnWidth = 10.71
Next
For i = 1 To Lm
For J = 1 To Lm
Cells(i, J).Interior.Color = Blanc
Next
Next
ActiveWindow.DisplayGridlines = True
Application.ScreenUpdating = True
Cells(1, 1).Select
End Sub
'===========================================
Lancement cellules carrées
'===========================================
Sub CelluleCarré()
Dim i%
Sheets("Feuil2").Select
Application.ScreenUpdating = False
For i = 1 To 10
DimensionCellule i, i
Next i
Application.ScreenUpdating = True
Cells.Select
Range("IV1").Activate
Selection.EntireColumn.Hidden = False
Range("A1").Select
Cells(1, 1).Activate
End Sub
'===========================================
Fonction cellules carrées
'============================================
Function DimensionCellule(ByVal X As Long, ByVal Y As Long) ', ByVal p As Long)
Dim h%, Point&, rng&, rng1&
Dim hauteur&, largeur&, rapport&
Cells(X, Y).Select
h = 10 '0.7 'dimension en millimètre, valeur limite = 0.7mm
Point = h / 0.35
'--------- hauteur en référence --------
With Selection
.RowHeight = Point
End With
'---------------------------------------
'asservissement pour avoir les cellules carrées
Do
rng = ActiveCell.Width
rng1 = ActiveCell.Height
hauteur = ActiveCell.RowHeight
largeur = ActiveCell.ColumnWidth
rapport = rng / rng1
With Selection
.RowHeight = hauteur
.ColumnWidth = largeur / rapport
End With
Loop Until rapport = 1
End Function
'============================================
Ces modules sont à placer sur la feuille2
Avec ceci, je fais des cellules de n'importe quel taille, sauf quelles ne sont pas tout à fait carrées.
Par exemple pour une taille de 10mm de coté.
j'obtiens 47 pixels en largeur et 38 pixels en hauteur
Je n'arrive pas à faire mon asservissement sur les pixels.
Si quelqu'un peut me donner une piste.
En fait c'est surtout pour la beauté du résultat.
Bien amicalement
Jean-Paul