Changer l’épaisseur d'une flèche en fonction d'une valeur dans une cellule

Bonjour,

J'essaye de faire changer l'épaisseur d'une flèche en fonction d'une valeur dans une cellule. Pour cela j'essaye d'utiliser des macros mais je ne suis pas très doué...

Voici mon code :

Sub Macro()
Set myDocument = Worksheets(1)
myDocument.Shapes.Range(Array(1, 3)).Fill.Patterned _
msoPatternHorizontalBrick

If Not Application.Intersect(Target, Range("J4")) Is Nothing Then
Shapes
(
"1").Height = Range("J4").Value

End If

End Sub

J'ai un message d'erreur sur Shapes (en rouge) mais je ne comprend pas pourquoi.

Est ce que vous pourrez m'expliquer l'erreur ?

Merci pour votre aide !

Bonjour ce serait plus clair avec un fichier exemple.

Le type de flêche peut être différent.

Par contre votre ligne Shapes("1").Height = Range("J4").Value

Height je crois que c'est la largeur pas l'épaisseur.

Ce serait plutot dans le genre

 With Selection.ShapeRange.Line
                .Weight = 10.75
    End With

Vous pouvez faire le test avec l'enregistreur macro.

J'ai travaillé dessus, voici le fichier excel. J'arrive à changer la longueur de la flèche en fonction de la valeur dans la case A1 mais je n'ai pas réussi à changer l'épaisseur de cette flèche. Après c'est un connecteur donc je ne sais pas si c'est possible. Auriez vous une idée pour changer épaississeur de ce connecteur ?

Merci d'avance pour votre aide

241.xlsx (6.03 Ko)

Bonjour Maxime9331, Xmenpl,

Voir fichier ci-dessous avec un connecteur placé dans ta feuille et cellule J4 colorée.

Ainsi que macros en code feuille et module 1.

Note que si shapes s'affiche en rouge, c'est que chaque forme est attachée a une feuille. Et qu'il faut préciser dans la macro quelle feuille est activée pour la forme ciblée.

33fleche.xlsm (15.24 Ko)

Merci pour ton aide, j'ai encore un petit problème . En fait j'aimerais l'étendre sur plusieurs flèche et que l'épaisseur de ces dernière change en fonction des valeurs dans le tableau. Sauf qu'il y a une erreur sur la ligne de code "Private Sub Worksheet_Change(ByVal Target As Range)" C'est le Worksheet_Change qui pose problème cette fois ci mais je ne comprend pas pourquoi ! Est ce que vous pourrez m'éclairer ?

Merci d'avance pour ta réponse !

15fleche-modif.xlsm (16.58 Ko)

A nouveau,

Il ne peut y avoir qu'un Worksheet_Change par feuille.

Donc j'ai réalisé une macro plus globale afin de s'adapter à l'ensemble du tableau présent.

Des connecteurs ont été renommés pour cela, soit 2,3 et 4.

42fleche-modif.xlsm (17.67 Ko)

Super merci pour ton aide !

Bonne journée !

Rechercher des sujets similaires à "changer epaisseur fleche fonction valeur"