Sub Rectangle()
X = ActiveCell.Row ' définit la ligne de la cellule active
Y = ActiveCell.Column ' définit la colonne de la cellule active
For L = X To X + 30 Step 5 ' 7 rectangles en X de 5 lignes de haut
For C = Y To Y + 8 ' 9 rectangles en Y
With Range(Cells(L, C), Cells(L + 4, C))
ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Select
End With
Next C
Next L
[A1].Select
End Sub