Problème fonction split

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

WILFRIED

XLDnaute Impliqué
Bonsoir,

Voila suite à un post précédant : https://www.excel-downloads.com/thr...ue-dans-un-fichier-texte-sans-louvrir.150919/

fhoest m'a indiquer un site qui présentait la solution à mon problème. Seulement en creusant un peu je me retrouve avec un message d'erreur. Voici le code adapter :

Code:
Dim fichier As String
    Dim NbLignesParFeuille As Long
    Dim Separateur As Variant        
    Dim Wb As Workbook
    Dim Counter As Double
    Dim Tableau() As Variant
    Dim i As Integer
    Dim ContenuLigne As String    
    Dim int_nb_col As Integer  'nb ligne
    Dim str_cont_prem_ligne As String  'contenue de la 1 ligne
    

    fichier = "O:\mes PU booster PCB V2\pls 60 ns\sc pls60 cal0.txt"
    Separateur = vbTab
    NbLignesParFeuille = 65536
    
    int_nb_col = 1
    Counter = 1
    Set Wb = Workbooks.Add(1)
    
    'Ouverture du fichier txt
    Open fichier For Input As #1
        Do While Not EOF(1)
            If Counter > NbLignesParFeuille Then
                Wb.Worksheets.Add
                Counter = 1
            End If            
            Line Input #1, ContenuLigne
            If Counter = 1 Then
               int_pos_dep = 1
'               Stop
               Do Until InStr(int_pos_dep, ContenuLigne, Separateur, vbTextCompare) = 0
                  int_pos_dep = InStr(int_pos_dep, ContenuLigne, Separateur, vbTextCompare)
                  If int_pos_dep <> 0 Then
                     int_pos_dep = int_pos_dep + 1
                     int_nb_col = int_nb_col + 1
                  Else
                     Stop
                  End If
               Loop
            End If
            'découpe la chaine en fonction des espaces " "
            'le résultat de la fonction Split est stocké dans un tableau
'            ReDim Preserve Tableau(Counter - 1)
'            Tableau(Counter - 1) = Split(ContenuLigne, Separateur, -1, vbTextCompare)
            
            Tableau() = Split(ContenuLigne, Separateur, -1, vbTextCompare)
            Stop
    
            'boucle sur le tableau pour extraire les données
            For i = 0 To UBound(Tableau)
                ActiveSheet.Cells(Counter, i + 1) = Tableau(i)
            Next i
            
            Counter = Counter + 1
        Loop
    Close #1
Arriver à la fonction split, il me renvoye un message d'erreur : erreur d'exectution '13'

J'ai regarder sur certain exemple trouver de ci de là, normalement cela devrait fonctionner et me renvoyer 4 info ( mon fichier à 4 colonne séparer par des tabulations.)

D'avance merci.
 
Re : Problème fonction split

Bonjour le fil 🙂,
C'est plutôt le contraire qu'il faut faire, ne pas mettre les () pour la déclaration (sinon il faut redimensionner le tableau), ni pour charger le tableau, comme ceci
Code:
Sub Test()
Dim Tableau, MaString As String, I As Integer
MaString = "test;test2;test3)"
Tableau = Split(MaString, ";")
For I = 0 To UBound(Tableau)
MsgBox Tableau(I)
Next I
End Sub
Bonne journée 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
905
Réponses
4
Affichages
728
Réponses
5
Affichages
416
Retour