Bonjour,
le code ci-dessous (dont je ne suis pas l'auteur) importe des données à
partir d'un fichier texte (une ligne par enregistrement, champs séparés par
\)
tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui
comporte 17 valeurs
A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les
valeurs qui sont bien dans le fichier texte
Le code:
"Open fichier For Input As #1
Ligne = 1
While Not EOF(1)
Input #1, enreg
NbLignes = NbLignes + 1
lg = Len(enreg)
If (lg > 4) Then
nb = 0
Ligne = Ligne + 1 'ligne de la feuille où écrire
For I = 1 To lg
position = InStr(enreg, "\")
If position > 0 Then
nb = nb + 1
If nb > 1 Then
chaine = Mid(enreg, 1, position - 1)
Cells(Ligne, nb).Value = chaine
End If
lg = Len(enreg)
lg = lg - position
enreg = Mid(enreg, position + 1, lg)
lg = Len(enreg)
'MsgBox (enreg)
End If
Next
'MsgBox ("nb: " & nb)
End If
Wend
Close #1
"
Merci de votre aide
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonsoir. Essaie :
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide
Bonsoir.
Essaie :
Open fichier For Input As #1
While Not EOF(1)
Input #1, enreg
tabl = Split(enreg, "")
For i = 0 To UBound(tabl)
nb = nb + 1
Cells(i + 1, nb) = tabl(i)
Next i
Wend
Close #1
Cordialement.
Daniel
Bonjour,
le code ci-dessous (dont je ne suis pas l'auteur) importe des données à
partir d'un fichier texte (une ligne par enregistrement, champs séparés par
)
tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui
comporte 17 valeurs
A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les
valeurs qui sont bien dans le fichier texte
Le code:
"Open fichier For Input As #1
Ligne = 1
While Not EOF(1)
Input #1, enreg
NbLignes = NbLignes + 1
lg = Len(enreg)
If (lg > 4) Then
nb = 0
Ligne = Ligne + 1 'ligne de la feuille où écrire
For I = 1 To lg
position = InStr(enreg, "")
If position > 0 Then
nb = nb + 1
If nb > 1 Then
chaine = Mid(enreg, 1, position - 1)
Cells(Ligne, nb).Value = chaine
End If
lg = Len(enreg)
lg = lg - position
enreg = Mid(enreg, position + 1, lg)
lg = Len(enreg)
'MsgBox (enreg)
End If
Next
'MsgBox ("nb: " & nb)
End If
Wend
Close #1
"
Merci de votre aide
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide
Unss34
Merci Daniel, mais les données ne sont pas placées au bon endroit: la macro passe à la ligne et colonne suivante après avoir écrit la 1ère donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" a écrit dans le message de news: %
Bonsoir. Essaie :
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide
Merci Daniel,
mais les données ne sont pas placées au bon endroit:
la macro passe à la ligne et colonne suivante après avoir écrit la 1ère
donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23TzscQu4JHA.1808@TK2MSFTNGP06.phx.gbl...
Bonsoir.
Essaie :
Open fichier For Input As #1
While Not EOF(1)
Input #1, enreg
tabl = Split(enreg, "")
For i = 0 To UBound(tabl)
nb = nb + 1
Cells(i + 1, nb) = tabl(i)
Next i
Wend
Close #1
Cordialement.
Daniel
Bonjour,
le code ci-dessous (dont je ne suis pas l'auteur) importe des données à
partir d'un fichier texte (une ligne par enregistrement, champs séparés
par )
tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne
qui comporte 17 valeurs
A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les
valeurs qui sont bien dans le fichier texte
Le code:
"Open fichier For Input As #1
Ligne = 1
While Not EOF(1)
Input #1, enreg
NbLignes = NbLignes + 1
lg = Len(enreg)
If (lg > 4) Then
nb = 0
Ligne = Ligne + 1 'ligne de la feuille où écrire
For I = 1 To lg
position = InStr(enreg, "")
If position > 0 Then
nb = nb + 1
If nb > 1 Then
chaine = Mid(enreg, 1, position - 1)
Cells(Ligne, nb).Value = chaine
End If
lg = Len(enreg)
lg = lg - position
enreg = Mid(enreg, position + 1, lg)
lg = Len(enreg)
'MsgBox (enreg)
End If
Next
'MsgBox ("nb: " & nb)
End If
Wend
Close #1
"
Merci de votre aide
Merci Daniel, mais les données ne sont pas placées au bon endroit: la macro passe à la ligne et colonne suivante après avoir écrit la 1ère donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" a écrit dans le message de news: %
Bonsoir. Essaie :
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide
Unss34
J'ai adapté pour corriger le placement des données, en bricolant un brin, mais c'est OK:
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") j = j + 1 For i = 0 To UBound(tabl) nb = nb + 1 Cells(j, nb) = tabl(i)
Next i nb = nb - 17 Wend Close #1
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
Merci Daniel, mais les données ne sont pas placées au bon endroit: la macro passe à la ligne et colonne suivante après avoir écrit la 1ère donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" a écrit dans le message de news: %
Bonsoir. Essaie :
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide
J'ai adapté pour corriger le placement des données, en bricolant un brin,
mais c'est OK:
Open fichier For Input As #1
While Not EOF(1)
Input #1, enreg
tabl = Split(enreg, "")
j = j + 1
For i = 0 To UBound(tabl)
nb = nb + 1
Cells(j, nb) = tabl(i)
Next i
nb = nb - 17
Wend
Close #1
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
OfKDTbu4JHA.5616@TK2MSFTNGP04.phx.gbl...
Merci Daniel,
mais les données ne sont pas placées au bon endroit:
la macro passe à la ligne et colonne suivante après avoir écrit la 1ère
donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
%23TzscQu4JHA.1808@TK2MSFTNGP06.phx.gbl...
Bonsoir.
Essaie :
Open fichier For Input As #1
While Not EOF(1)
Input #1, enreg
tabl = Split(enreg, "")
For i = 0 To UBound(tabl)
nb = nb + 1
Cells(i + 1, nb) = tabl(i)
Next i
Wend
Close #1
Cordialement.
Daniel
Bonjour,
le code ci-dessous (dont je ne suis pas l'auteur) importe des données à
partir d'un fichier texte (une ligne par enregistrement, champs séparés
par )
tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne
qui comporte 17 valeurs
A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les
valeurs qui sont bien dans le fichier texte
Le code:
"Open fichier For Input As #1
Ligne = 1
While Not EOF(1)
Input #1, enreg
NbLignes = NbLignes + 1
lg = Len(enreg)
If (lg > 4) Then
nb = 0
Ligne = Ligne + 1 'ligne de la feuille où écrire
For I = 1 To lg
position = InStr(enreg, "")
If position > 0 Then
nb = nb + 1
If nb > 1 Then
chaine = Mid(enreg, 1, position - 1)
Cells(Ligne, nb).Value = chaine
End If
lg = Len(enreg)
lg = lg - position
enreg = Mid(enreg, position + 1, lg)
lg = Len(enreg)
'MsgBox (enreg)
End If
Next
'MsgBox ("nb: " & nb)
End If
Wend
Close #1
"
Merci de votre aide
J'ai adapté pour corriger le placement des données, en bricolant un brin, mais c'est OK:
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") j = j + 1 For i = 0 To UBound(tabl) nb = nb + 1 Cells(j, nb) = tabl(i)
Next i nb = nb - 17 Wend Close #1
"Unss34" <unss34(a_enlever)@free.fr> a écrit dans le message de news:
Merci Daniel, mais les données ne sont pas placées au bon endroit: la macro passe à la ligne et colonne suivante après avoir écrit la 1ère donnée, au lieu de passer seulement à la colonne suivante...
"Daniel.C" a écrit dans le message de news: %
Bonsoir. Essaie :
Open fichier For Input As #1 While Not EOF(1) Input #1, enreg tabl = Split(enreg, "") For i = 0 To UBound(tabl) nb = nb + 1 Cells(i + 1, nb) = tabl(i) Next i Wend Close #1
Cordialement. Daniel
Bonjour, le code ci-dessous (dont je ne suis pas l'auteur) importe des données à partir d'un fichier texte (une ligne par enregistrement, champs séparés par ) tout baigne sauf qu'il n'importe pas la dernière donnée de chaque ligne qui comporte 17 valeurs A l'arrivée, dans Excel la dernière colonne n'est pas renseignée par les valeurs qui sont bien dans le fichier texte
Le code: "Open fichier For Input As #1 Ligne = 1 While Not EOF(1) Input #1, enreg NbLignes = NbLignes + 1 lg = Len(enreg) If (lg > 4) Then nb = 0 Ligne = Ligne + 1 'ligne de la feuille où écrire For I = 1 To lg position = InStr(enreg, "") If position > 0 Then nb = nb + 1 If nb > 1 Then chaine = Mid(enreg, 1, position - 1) Cells(Ligne, nb).Value = chaine End If lg = Len(enreg) lg = lg - position enreg = Mid(enreg, position + 1, lg) lg = Len(enreg) 'MsgBox (enreg) End If Next 'MsgBox ("nb: " & nb) End If Wend Close #1 " Merci de votre aide