Sub Aujourdhui()
Dim Lundi, c1 As Range, c2 As Range, c3 As Range
With Sheets("sheet1")
Set c1 = .Rows(15).Find(Year(Date)) 'rechercher l'année
If Not c1 Is Nothing Then
i = c1.MergeArea.Cells.Count 'nombre de cellules dans cette cellule fusionnée
Set c2 = c1.Offset(1).Resize(, i).Find("Q" & (Month(Date) + 2) \ 3) 'rechercher le quarter
If Not c2 Is Nothing Then
d1 = DateSerial(Year(Date), WorksheetFunction.Floor(Month(Date) - 1, 3) + 1, 1) 'first day of this quarter
d2 = WorksheetFunction.EDate(d1, 3) 'first day of next quarter
With .Shapes("connecteur droit 2") ' on prend le trait
.Top = c2.Top ' on aligne la partie supérieure du trait avec la partie supérieure de la cellule
.Left = c2.Left + c2.Width * (Date - d1) / (d2 - d1) 'on positionne le trait verticalement avec son pourcentage du quarter
Exit Sub
End With
End If
End If
End With
MsgBox "désolé"
End Sub
c'était presque comme ici https://forum.excel-pratique.com/excel/ligne-curseur-qui-se-deplace-automatiquement-en-fonction-de-l...