Bonjour,
Je vous sollicite une fois de plus n'est pas coutume ;+)
Dans l'exemple ci-dessous je cree une fonction avec comme paramètre de sortie un tableau de string dynamique.
A ce jour la seule méthode trouvé pour l'utiliser est la suivante :
Sub Test()
Dim TT(3) As String, T As Variant: TT(1) = "A": TT(2) = "A": TT(3) = "B":
T = StringUnique(TT)
End Test
Function StringSortie(Chaines() As String) As Variant
Dim CelluleUnique As New Collection
Dim ChaineUnique() As String
Dim i As Integer, j As Integer
i = 1: j = 1
ReDim ChaineUnique(1 To 1)
For i = 1 To UBound(Chaines)
On Error Resume Next
CelluleUnique.Add Chaines(i), CStr(Chaines(i))
If Err = 0 Then
ReDim Preserve ChaineUnique(1 To j)
ChaineUnique(j) = Chaines(i)
j = j + 1
End If
On Error GoTo 0
Next i
StringUniquePerso = ChaineUnique
' Reinitialisation de CelluleUnique
Set CelluleUnique = Nothing
End Function
Est-il possible d'utiliser à la place de "Variant" le type "String" ?
Est-il possible de faire mieux ?
Merci d'avance
El Gringo
Je vous sollicite une fois de plus n'est pas coutume ;+)
Dans l'exemple ci-dessous je cree une fonction avec comme paramètre de sortie un tableau de string dynamique.
A ce jour la seule méthode trouvé pour l'utiliser est la suivante :
Sub Test()
Dim TT(3) As String, T As Variant: TT(1) = "A": TT(2) = "A": TT(3) = "B":
T = StringUnique(TT)
End Test
Function StringSortie(Chaines() As String) As Variant
Dim CelluleUnique As New Collection
Dim ChaineUnique() As String
Dim i As Integer, j As Integer
i = 1: j = 1
ReDim ChaineUnique(1 To 1)
For i = 1 To UBound(Chaines)
On Error Resume Next
CelluleUnique.Add Chaines(i), CStr(Chaines(i))
If Err = 0 Then
ReDim Preserve ChaineUnique(1 To j)
ChaineUnique(j) = Chaines(i)
j = j + 1
End If
On Error GoTo 0
Next i
StringUniquePerso = ChaineUnique
' Reinitialisation de CelluleUnique
Set CelluleUnique = Nothing
End Function
Est-il possible d'utiliser à la place de "Variant" le type "String" ?
Est-il possible de faire mieux ?
Merci d'avance
El Gringo