Sauf que la feuille ne changera pas manuellement, les données viendront d'un autre logiciel, mais l'important n'est pas là
il aurait sans doute été moins lourd pour un changement de modifier une seule image.
Si j'ai bien compris, un import dans la feuille Input data, met à jour la feuille Sheet3 via la feuille Charge CCPLN
Je ne vois pas d'autres solution que de balayer la feuille Sheet3 dans la mesure où il y a toujours le même nombre de lignes entre deux noms de machine (12 lignes pour la plupart , 11 entre la 1 et la 2) et que le nom de l'image correspond au nom de la machine.
Sub Macro()
Dim i As Long, W2 As Worksheet, couleur As Integer
Set W2 = Worksheets("Sheet3")
For i = 2 To W2.Range("D" & Rows.Count).End(xlUp).Row Step 12
If W2.Cells(i + 1, 5) < "10:00:00" Then
couleur = 3
ElseIf W2.Cells(i + 1, 5) <= "20:00:00" Then
couleur = 4
Else
couleur = 2
End If
With W2.Shapes(W2.Cells(i, 4))
.Line.ForeColor.SchemeColor = couleur
.Line.Weight = 6#
.Line.Visible = msoTrue
End With
Next
End Sub
Il faut également peaufiner les tests sur le temps. la c'est juste pour info, ça ne fonctionne pas