Function concatDates(plage As Range) As String
Dim c As Range, ancien As Date, pair As Boolean, chevauchement As Boolean
pair = True
For Each c In plage
If Not IsDate(c) Then Exit For
pair = Not pair
If pair Then
concatDates = concatDates & " au " & Format(DateValue(c), "dd/mm/yy") & vbLf
ancien = c
Else
chevauchement = (c.Value = ancien)
concatDates = concatDates & "Du " & Format(DateValue(c - chevauchement), "dd/mm/yy")
End If
Next c
End Function