'janvier 2015
'patricktoulon sur Developpez.com
Function GetDateOnChain(TxT As String, index)
Dim tbl(), dx$
ReDim Preserve tbl(1 To 100)
For i = 1 To Len(TxT)
tbl(i) = ""
dx = Mid(TxT, i, 10)
If IsDate(dx) And dx Like "##/##/####" Then x = x + 1: tbl(x) = DateValue(dx) : i = i + 11
Next
If index > 0 Then
GetDateOnChain = tbl(index)
Else
ReDim Preserve tbl(1 To Application.Caller.Cells.Count)
If Application.Caller.Rows.Count > 1 Then t = Application.Transpose(tbl)
GetDateOnChain = t
End If
End Function
Sub RegDialFonction()
Dim Funct_description As String, argumtsArray
'(max 255 caracteres)
Funct_description = "Fonction GetDateOnChain" & vbCrLf & _
"avec argument index 0 retourne un tableau(matriciel)" & vbCrLf & _
"avec argument > 0 retourne l'occurence" & vbCrLf & _
"Créated By patricktoulon"
'Description des arguments de la fonction
argumtsArray = Array("chaine string à traiter", "index pour la Nieme occurence")
'appel la sub pour enregistrer
Application.MacroOptions Macro:="GetDateOnChain", _
Description:=Mid(Funct_description, 1, 255), _
ArgumentDescriptions:=argumtsArray, _
Category:="personnalisée"
End Sub