Dessiner une forme, connaissant ses sommets

Ptibel - Modifié le 5 août 2018 à 09:54
Ptibel Messages postés 1 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 7 août 2018 - 7 août 2018 à 23:46
Bonjour,
J'ai les coordonnées (X,Y) des sommets de la forme que je souhaite dessiner
Pour le faire bêtement, je donne

    With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, Cells(1,1), Cells(1, 2))
        .AddNodes msoSegmentLine, msoEditingAuto, Cells(1,3), Cells(1,4)
        .AddNodes msoSegmentLine, msoEditingAuto, Cells(1,5), Cells(1,6)
        .AddNodes msoSegmentLine, msoEditingAuto, Cells(1,7), Cells(1,8)
        .ConvertToShape.Select
    End With

Ceci, dans le cas où je n'ai que 4 sommets, ce qui est loin d'être toujours le cas ;-)
Intelligent, je donne

    With ActiveSheet.Shapes.BuildFreeform(msoEditingAuto, Cells(1,1), Cells(1, 2))
        For j = 3 To 7 Step 2
        .AddNodes msoSegmentLine, msoEditingAuto, Cells(1, j), Cells(1, j + 1)
        Next j
       .ConvertToShape.Select
    End With

Mauvaise nouvelle, je ne suis pas si intelligent que ça puisque ça plante!
Impossible de faire une boucle au sein d'un "With" ?
Quelqu'un a une solution?
Merci d'avance

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 21
5 août 2018 à 22:39
0
Ptibel Messages postés 1 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 7 août 2018
7 août 2018 à 23:46
Merci de m'avoir ré-orienté
Slts
0
Rejoignez-nous