[B][COLOR=DarkSlateGray]Function dat(r)
Dim i, x
dat = ""
If r.Value Like "*##/##/####*" Or r.Value Like "*##/#/####*" Then
x = Split(r.Value, "/")
For i = 0 To UBound(x) - 2
If IsNumeric(Right$(x(i), 2)) And IsNumeric(x(i + 1)) And IsNumeric(Left$(x(i + 2), 4)) Then Exit For
Next i
dat = DateSerial(Left$(x(i + 2), 4), x(i + 1), Right$(x(i), 2))
ElseIf r.Value Like "*#/##/####*" Or r.Value Like "*#/#/####*" Then
x = Split(r.Value, "/")
For i = 0 To UBound(x) - 2
If IsNumeric(Right$(x(i), 1)) And IsNumeric(x(i + 1)) And IsNumeric(Left$(x(i + 2), 4)) Then Exit For
Next i
dat = DateSerial(Left$(x(i + 2), 4), x(i + 1), Right$(x(i), 1))
End If
End Function
Sub ExtraitDateADroite()
Dim r As Range
With Selection [COLOR=DarkOrange]'plage à adapter[/COLOR]
For Each r In .Cells
r.Offset(0, 1).Value = dat(r)
Next r
End With
End Sub
Sub RemplaceParDate()
Dim r As Range
With Selection [COLOR=DarkOrange]'plage à adapter[/COLOR]
For Each r In .Cells
r.Value = dat(r)
Next r
End With
End Sub[/COLOR][/B]