Function StringToCharArray(ByVal sString As String, Optional ByVal bSplitVbCrLf As Boolean = True) As String() 'sString chaîne à transformer en tableau 'bSplitVbCrLf doit-on couper les retours chariot en 2 ou non. rappel : VBCRLF = CHR(13) & CHR(10) 'StringToCharArray retourne le tableau résultat, commence à 0 If LenB(sString) Then Dim i As Long, saResult() As String If bSplitVbCrLf Then ' on doit couper? ok c'est le plus pratique ReDim saResult(Len(sString) - 1) For i = 1 To LenB(sString) - 1 Step 2 saResult((i - 1) / 2) = MidB$(sString, i, 2) Next i Else ' pas couper, on va vérifier à chaque fois s'il n'y a pas un 10 après un 13 Dim j As Long, sChar As String j = 0 For i = 1 To Len(sString) sChar = Mid$(sString, i, 1) ReDim Preserve saResult(j) If sChar = vbCr Then ' si 10 après, on ne coupe pas If Mid$(sString, i + 1, 1) = vbLf Then saResult(j) = vbCrLf i = i + 1 Else ' carac classique, on sauve saResult(j) = sChar End If Else ' carac classique, on sauve saResult(j) = sChar End If j = j + 1 Next i End If ' retour StringToCharArray = saResult Erase saResult End If End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.