Bonsoir,
J'ai besoin d'une fonction (ou une solution) pour convertir une chaîne de caractères en un tableau de caractères.
Exemple:
"bonsoir" ----> ["b","o","n","s","o","i","r"]
Merci d'avance.
Bonsoir,
J'ai besoin d'une fonction (ou une solution) pour convertir une chaîne de caractères en un tableau de caractères.
Exemple:
"bonsoir" ----> ["b","o","n","s","o","i","r"]
Merci d'avance.
Bonsoir,
faisons alors les choses bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 toto = "bonsoir" titi = Split(StrConv(toto, vbUnicode), Chr(0)) 'preuve : For i = 0 To UBound(titi) MsgBox titi(i) Next
Merci beaucoup
C'est ce que je cherche
Juste une remarque:
puisque ça commence du 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part For i = 0 To UBound(titi)-1
Encore Merci
Moi je me demande juste si Mid ne t'aurai pas suffit ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 st = "bonsoir" Debug.Print "["""; For i = 0 To Len(st) - 2 Debug.Print Mid(st, i + 1, 1) & ""","""; Next Debug.Print Mid(st, i + 1, 1) & "]"
une autre solution avec une API :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Private Sub Command1_Click() Dim st As String Dim tb() As Byte Dim i As Integer st = "bonsoir" ReDim tb(Len(st)) CopyMemory tb(0), ByVal st, Len(st) Debug.Print "["""; For i = 0 To (UBound(tb) - 2) Debug.Print Chr(tb(i)) & ""","""; Next Debug.Print Chr(tb(i)) & "]" End Sub
Bonsoir, bbil,
si ce n'est que pour afficher ou finalement utiliser chr, VB t'offre tout sur un plateau ... sans même le split
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim toto As String, titi() As Byte toto = "bonsoir" titi = StrConv(toto, vbFromUnicode) ' preuve: For i = 0 To UBound(titi) MsgBox Chr(titi(i)) Next
Partager