Soyez le premier à donner votre avis sur cette source.
Vue 9 170 fois - Téléchargée 456 fois
'####la fonction megasplit### Private Function Megasplit(chaine As String, separateur As String) As Variant 'testé avec les cas suivants ',,3,4,,6,,,9,"10", '1,"2,2",,"4","5",6,7,8,9,10,11 ',,,,,,,,9,10,"11" '1,2,3,4,5,6,7,8,9,10,11 Dim resultatcoll As New Collection Dim compte As Double ReDim resultat(1) Dim ouinon As Boolean Dim t As Variant Dim t2 As Variant Dim x As Variant Dim x2 As Variant Dim chaine2 As String Dim chaine3 As String Dim carspe1 As String Dim carspe2 As String 'je recherche deux caractères non utilisés dans la chaine 'si la condition n'est pas remplie, 'c'est que ce n'est pas un fichier texte ;-) Dim m As Integer Dim mm As Integer For m = 254 To 1 Step -1 If InStr(1, chaine, Chr(m)) = 0 Then carspe1 = Chr(m) For mm = m - 1 To 1 Step -1 If InStr(1, chaine, Chr(mm)) = 0 Then carspe2 = Chr(mm) Exit For End If Next Exit For End If Next If m = 1 And mm = 1 Then Exit Function End If 'debarassons nous des cas particuliers If Left(chaine, 1) = separateur Then chaine = carspe1 + chaine End If If Right(chaine, 1) = separateur Then chaine = chaine + carspe1 End If 'l algorithme qui distingue les chaines avec 'ou sans des " ouinon = True t = Split(chaine, Chr(34), , vbTextCompare) For Each x In t If ouinon = True Then chaine2 = x chaine2 = Replace(chaine2, separateur + separateur, separateur + carspe1 + separateur) If Left(chaine2, 1) = separateur Then chaine2 = Right(chaine2, Len(chaine2) - 1) End If If Right(chaine2, 1) = separateur Then chaine2 = Left(chaine2, Len(chaine2) - 1) End If t2 = Split(chaine2, separateur, , vbTextCompare) For Each x2 In t2 chaine3 = x2 chaine3 = Replace(chaine3, " ", carspe2) chaine3 = Trim(Replace(chaine3, carspe1, " ")) chaine3 = Replace(chaine3, carspe2, " ") compte = compte + 1 ReDim Preserve resultat(compte) resultat(compte) = chaine3 Next Else compte = compte + 1 ReDim Preserve resultat(compte) resultat(compte) = x End If ouinon = ouinon - (ouinon = True) + (ouinon = False) Next 'fini Megasplit = resultat End Function '####fin de la fonction megasplit###
13 avril 2006 à 21:41
le code serait
dim i as integer
dim monfichier as string
dim a$
dim t as variant
i=freefile
monfichier = "c:\toto.txt"
open monfichier for input as #i
do until eof(i)
line input #i,a$
t = split(a$,",")
' et la tu traites...t(0) t(1) t(2) etc...
loop
close #i
13 avril 2006 à 09:58
1153748,13/04/2006 03:02:35,1,SpaceManager,
1153747,12/04/2006 22:06:25,1,RS_Global.asp,
1153746,12/04/2006 22:06:08,1,RS_Global.asp,
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.