Vba Access : Split

Résolu/Fermé
Melycea - 24 avril 2012 à 17:14
 Melycea - 27 avril 2012 à 09:59
Bonjour,

Je suis en train de créer une base de données sur Access 97.
Après avoir découvert la fonction "split"qui règlerai tous mes soucis, je me suis malheureusement rendue compte qu'elle n'existe pas sous ma version d'Access...

Quelqu'un aurait une alternative?

Merci de vos réponses.

2 réponses

Bonjour,

Il suffit de la créer !

Voilà une suggestion !

Option Explicit 

Public Function PersoSplit(ByVal pChaine As String, ByVal pCaractere As String) As Variant 

    Dim Mot As String 
    Dim PartieDeChaine As String 
    Dim Longueur As Long 
    Dim Boucle As Long 
    Dim Indice As Long 
    Dim Resultat() As Variant 
     
    Indice = 1 
    Longueur = Len(pChaine) 
    For Boucle = 1 To Longueur 
        PartieDeChaine = Mid(pChaine, Boucle, 1) 
        If (PartieDeChaine <> pCaractere) Then 
            Mot = Mot & PartieDeChaine 
        Else 
            ReDim Preserve Resultat(Indice) 
            Indice = (Indice + 1) 
            Resultat(Indice - 1) = Mot 
            Mot = "" 
        End If 
    Next Boucle 
     
    If (Mot <> "") Then 
        ReDim Preserve Resultat(Indice) 
        Indice = (Indice + 1) 
        Resultat(Indice - 1) = Mot 
    End If 
     
    PersoSplit = Resultat 

End Function 
' 

Public Sub TestSplit() 

    Dim Chaine As String 
    Dim Bloc As Variant 
    Dim Boucle As Long 
    Dim Resultat As String 
     
    Chaine = "25;16;45;;;87;95" 
     
    Bloc = PersoSplit(Chaine, ";") 
     
    For Boucle = 0 To UBound(Bloc) 
        Resultat = Resultat & Bloc(Boucle) & vbCrLf 
    Next Boucle 

    MsgBox Resultat 

End Sub 


Cdt

Lupin
1
C'est ce que j'ai fini par faire finalement mais ma version parait bien plus complexe.

Merci beaucoup pour ta réponse!
0