~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période. Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes. ~ Rechercher ~
~ Annuaire VB ~
~ Partenaires ~
|
Fonction : ExtraSplit stSepLig As String, Optional blLenColRedim As Boolean = False) ' Cette fonction met sous forme de tableau à "n" dimensions une chaine donnée en paramêtre ' stSepLig est le séparateur de ligne, il doit être le même pour toutes les lignes ' stSepCol est le séparateur de colonne et doit être le même pour toutes les colonnes et pour toutes ' les lignes. Le nombre de colonne doit être le même sur chaque ligne, si ce n'est pas le cas, ' la première ligne doit contenir au moins le plus grand nombre de colonnes, et il faut alors ' positionner blLenColRedim à Vrai. Cela signifie que l'on pourra traiter des lignes avec moins ' de colonnes. Dim tabTmp, tabResult, tabNew Dim lgFor As Long, lgCol As Long, lgMax As Long Dim lgMaxOrig As Long, lgTo As Long ' Calcul du nombre de colonnes tabTmp = Split(stChaine, stSepLig) lgMaxOrig = UBound(Split(tabTmp(lgFor), stSepCol)) lgMax = lgMaxOrig lgTo = lgMax ReDim tabResult(UBound(tabTmp), lgMaxOrig) For lgFor = 0 To UBound(tabTmp) tabNew = Split(tabTmp(lgFor), stSepCol) If blLenColRedim Then lgMax = UBound(tabNew) If (lgMax < lgMaxOrig) Then lgTo = lgMax Else lgTo = lgMaxOrig End If For lgCol = 0 To lgTo tabResult(lgFor, lgCol) = tabNew(lgCol) Next lgCol Next lgFor ExtraSplit = tabResult End Function |