Bonjour à tous,
Je travaille sur une macro destinée à créer les schéma d'un ensemble de batch, avec leur dépendance. Je dois construire ce schéma à partir d'une liste d'objets et certaines de leur caractéristiques.
Sous certaines conditions, je dois relier certains objets avec une flèche coudée constituée de 3 parties distinctes qui sont ensuite groupées (car cette forme n'existe pas dans Excel).
Au sein d'un boucle, j'ai ceci :
La macro fonctionne très bien pour la première occurence : mes traits sont créés, groupés, mis en forme, nickel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 'NB : le numéro des lignes est variabilisé du fait de l'utilisation dans une boucle With ActiveSheet.Shapes .AddConnector(msoConnectorStraight, Range("H" & LignePredecesseur).Left, Range("H" & LignePredecesseur).Top + Range("I" & LignePredecesseur).Height / 2, Range("I" & LignePredecesseur).Left, Range("I" & LignePredecesseur).Top + Range("I" & LignePredecesseur).Height / 2).Name = "FlechePartie1" .AddConnector(msoConnectorStraight, Range("H" & LignePredecesseur).Left, Range("H" & LignePredecesseur).Top + Range("H" & LigneSchema).Height / 2, Range("H" & LigneSchema).Left, Range("I" & LigneSchema).Top + Range("I" & LigneSchema).Height / 2).Name = "FlechePartie2" .AddConnector(msoConnectorStraight, Range("H" & LigneSchema).Left, Range("H" & LigneSchema).Top + Range("I" & LigneSchema).Height / 2, Range("I" & LigneSchema).Left, Range("I" & LigneSchema).Top + Range("I" & LigneSchema).Height / 2).Name = "FlechePartie3" With .Range(Array("FlechePartie1", "FlechePartie2", "FlechePartie3")).Group With .Line .Visible = msoTrue .Weight = 2 .ForeColor.RGB = Couleur 'la couleur du trait est variabilisée. .Transparency = 0 End With With .GroupItems(3).Line .EndArrowheadStyle = msoArrowheadOpen End With End With End With
Elle se plante ensuite lors de la deuxième occurence : les traits sont créés, et l'erreur '1004' survient lors du groupement des 3 formes.
De ce que j'en comprends, j'essaie de grouper la première forme qui est déjà groupée, d'où l'erreur.
Comment se fait-il que la macro ne prenne pas les 3 formes nommées que l'on vient juste de créer pour les grouper?
J'ai essayé de nommer explicitement le groupe pour ne pas subir la numérotation de l'index, sans succès.
Même si j'arrive à nommer les groupes avec un numéro contrôlé via une variable (genre GrpNum), je n'arrive pas ensuite à les "appeler"pour appliquer les mises en forme.
Pourriez-vous m'aider sur ce point?
Merci d'avance.
Partager