Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [A:A]) Is Nothing Then
Dim tablo, tablosortie, L%, DL%
Application.ScreenUpdating = False
DL = Range("A65500").End(xlUp).Row ' Dernière ligne
[B:C].ClearContents ' Effacement matrice de sortie
tablo = Range("A1:A" & DL) ' Tranfert données dans array, beaucoup plus rapide
ReDim tablosortie(DL, 2) ' Création tableau de sortie
For L = 2 To UBound(tablo)
If tablo(L, 1) <> "" Then
tablosortie(L - 1, 0) = Left(tablo(L, 1), 2) ' Extraction Jour
tablosortie(L - 1, 1) = Trim(Mid(tablo(L, 1), 3, Len(tablo(L, 1)))) ' extraction heure
End If
Next L
[B1].Resize(UBound(tablosortie, 1), UBound(tablosortie, 2)) = tablosortie ' restitution tableau en B et C
[B1] = "Jour": [C1] = "Heure" ' Entete
Columns("C:C").HorizontalAlignment = xlCenter ' Centré
Application.ScreenUpdating = True
End If
End Sub