1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub Macro1()
Call DrawLine(Range("B5"), Range("E7"))
End Sub
'
Sub DrawLine(FromCell As Range, ToCell As Range)
With FromCell.Parent.Shapes.AddLine(1, 1, 1, 1) ' on crée une forme
'On définit le trait comme une diagonale de rectangle
'On détermine d'abord le point haut gauche du rectangle
.Left = FromCell.Left + (FromCell.Width / 2) ' la gauche du début est définie par la position gauche de
' la cellule de départ plus la moitié de sa largeur
.Top = FromCell.Top + (FromCell.Height / 2) ' la hauteur du début est définie par la position haute
' de la cellule de départ plus la moitié de sa hauteur
.Width = (ToCell.Left + (ToCell.Width / 2)) - .Left ' la largeur du rectangle est définie par
' la position gauche de la cellule d'arrivée
' + la moitié de la largeur de la cellule d'arrivée
' - la position gauche du rectangle
' (ou du point de départ du trait)
.Height = (ToCell.Top + (ToCell.Height / 2)) - .Top ' la hauteur du rectangle est définie par
' la position haute de la cellule d'arrivée
' + la moitié de la hauteur de la cellule d'arrivée
' - la position haute du rectangle
' (ou du point de départ du trait)
End With
End Sub |
Partager