Salut,
Comme Dead78 n'as pas trop de temps et que mois oui
je me permets d'intervenir.
J'imagine que par l'enregistreur tu as obtenu quelque chose du genre:
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 297#, 75#, 22#, 111#).Select
Si tu fais une recherche sur AddShape tu verras que les données représentent le Type (rectange pour l'exemple), la position par la gauche, la position par le haut, la largeur, la hauteur.
Donc en connaissant le nombre et la position initiale du premier, tu peux passer par des variables dans une boucle.
Petit exemple qui créer des rectangles identiques les uns en dessous des autres:
1 2 3 4 5 6 7 8 9 10 11 12
| l = 142 'donne la valeur initiale à Left
t = 39 'Donne la valeur initiale à Top
w = 480 'Donne la valeur initial à Width
h = 180 'Donne la valeur initial à Height
For nb = 1 To 4
ActiveSheet.Shapes.AddShape(msoShapeRectangle, l, t, w, h).Select
l = l 'L'alignement à gauche reste le même; à adapter pour le cas concrèt via une double boucle
t = t + h 'L'alignement par le haute est incrémenter la hauteur de la forme précédente
Next nb
End Sub |
Il te reste à dimensionner les variables et à récupérer les valeurs via tes feuilles (je crois qu'elle sont dispos si j'ai bien suivi)
Bonne continuation
Partager