Private Sub Form_Load() Dim Str As String Dim i As Integer Str = "Ceci est un test" For i = 0 To UBound(Split(Str, " ", Len(Str), vbTextCompare)) MsgBox (Split(Str, " ", Len(Str), vbTextCompare)(i)) Next i End Sub Public Function Split(ByVal sIn As String, Optional sDelim As String, Optional nLimit As Long -1, Optional bCompare As VbCompareMethod vbBinaryCompare) As Variant Dim sRead As String, sOut() As String, nC As Integer If sDelim = "" Then Split = sIn End If sRead = ReadUntil(sIn, sDelim, bCompare) Do ReDim Preserve sOut(nC) sOut(nC) = sRead nC = nC + 1 If nLimit <> -1 And nC >= nLimit Then Exit Do sRead = ReadUntil(sIn, sDelim) Loop While sRead <> "" ReDim Preserve sOut(nC) sOut(nC) = sIn Split = sOut End Function Public Function ReadUntil(ByRef sIn As String, sDelim As String, Optional bCompare As VbCompareMethod = vbBinaryCompare) As String Dim nPos As String nPos = InStr(1, sIn, sDelim, bCompare) If nPos > 0 Then ReadUntil = Left(sIn, nPos - 1) sIn = Mid(sIn, nPos + Len(sDelim)) End If End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim T1() As String Dim T2() As String
Une variable VB doit être déclarée pour que VB lui réserve un espace en mémoire centrale et lui assigne un nom. La quantité et l'organisation de l'espace réservé dépend du type de variable.
Si Option Explicit n'est pas présent au début du module VB où se trouve une variable, et que la variable n'est pas déclarée, VB la déclarera automatiquement de type Variant.
Apparemment pratique, cette fonctionnalité est très dangereuse, car elle désactive la détection de fautes de frappe.
je découvre comment mettre mon texte Vb en forme sur le forum !
Option Explicit!
Dim:
' fonctionne avec mon système de tableau Dim T1 as variant ' Ne fonctionne pas Dim T1() as String
String
' Ne fonctionne pas
Dim T1() as String
' ' Fonctionne ainsi ... ' <Nom du fichier ini> ' <Section> La section cherché ' <X> Nombre de colonne possible, si pas mis, colonne = 1 ' <Y> Nombre de ligne possible, Si mis: 1 seule ligne possible ' Function FichiersIni(Fichier As String, Section As String, _ Optional X As Integer = 1, _ Optional Y As Integer) As Variant Dim T1 As String Dim T2 As Variant Dim Z As Integer ReDim T2(2) As Variant Dim OK As Boolean OK = False Open Fichier For Input As #1 Do While Not EOF(1) ' On cherche la section choisi Line Input #1, T1 If InStr(T1, Section) > 0 Then OK = True Exit Do End If Loop If OK = False Then MsgBox "La section :" & Section & " est introuvable" Close End End If ' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ' La section est trouvé, on charge les lignes ' utile de la section "Section" ' >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Do While Not EOF(1) Line Input #1, T1 If Len(T1) < 2 Then Exit Do ' Si ligne vide, on quitte ' on découpe le résultat selon X = valeur (1 ou 2) Z = Z + 1 ' Si plusieurs lignes T2(Z) = T1 ' On garde les lignes tel quel. If Y = 1 Then FichiersIni = T1 Close Exit Function End If ReDim Preserve T2(Z + 1) Loop Close ReDim Preserve T2(Z) FichiersIni = T2 End Function
Function FichiersIni(Fichier As String, Section As String, _
Optional X As Integer = 1, _
Optional Y As Integer) As Variant String
ReDim T2(2) As Variant string
Public Function Split(ByVal Chaine As String, _ Optional Find As String = " ") As Variant
Dim Splut() As String Dim i, t As Integer Private Sub Form_Click() Dim Tableau() As String Spliting "Bonjour Splitter c'est ma passion", "" Tableau = Splut For i = 0 To UBound(Tableau) MsgBox (Tableau(i)) Next End Sub Private Sub Spliting(Chaine As String, Delimit As String) If Delimit "" Then Delimit " " ReDim Splut(0) As String For t = 1 To Len(Chaine) If Mid(Chaine, t, 1) = Delimit Then ReDim Preserve Splut(UBound(Splut) + 1) Else Splut(UBound(Splut)) = Splut(UBound(Splut)) & Mid(Chaine, t, 1) End If Next End Sub
J'ai cherché une version VB6 avec licence