Option Explicit
Sub test()
Dim x As Range, y As Range, z As Range
Set x = Cells.Find("balise de fin", , xlValues, xlWhole, , , False)
Set y = Cells.Find("Balise de début", , xlValues, xlWhole, , , False)
If Not x Is Nothing And Not y Is Nothing Then
Set z = Cells.Find("date", , xlValues, xlWhole, , , False)
If Not z Is Nothing Then
With Range(x, y)
z.Offset(1, 0).Resize(.Rows.Count, .Columns.Count).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
z.Offset(1, 0).Resize(.Rows.Count, .Columns.Count) = .Value
End With
End If
End If
End Sub