Alors voilà le résultat de mes acrobaties matinales ===>>
A mettre dans un module standard
Option Explicit
Public Sub supprime_index(ByRef A, ind As Long)
Dim A1 As String
bascule A, True
A(ind) = Chr(0)
A1 = Join(A)
A = Split(Replace(Replace(StrConv(A1, vbUnicode), Chr(0), ""), " ", " "))
bascule A, False
End Sub
Private Sub bascule(ByRef A, B As Boolean)
Dim I As Long
For I = 0 To UBound(A)
A(I) = IIf(B, Replace(A(I), " ", Chr(1)), Replace(A(I), Chr(1), " "))
Next
End Sub
Exemple d'utilisation :
toto = Array("bonjour les amis", "comment cela va ?", "bien", "tant mieux", "au revoir, donc")
supprime_index toto, 1 '=====>>>>> on supprime l'élément de rang 1 ("comment cela va ?")
Dim i As Long '_________________________
For i = 0 To UBound(toto) ' |
MsgBox toto(i) ' |====>> preuve
Next '__________________________________|
Fonctionne y compris si espaces dans les valeurs
Conserve l'ordre des éléments
(je me demande s'il ne convient pas d'en faire un snippet)...
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.