Import fichier csv

Le
LE TROLL
Bonjour,

On a posé une question dans VB6 et >, sur la
construction sous Excel d'un fichier CSV, j'ai
donné le code, mais le problème est que chaque
ligne contient l'ensemble des cellules de cette
dernière.
Autrement dit, comment indiquer depuis le code
qu'il faut utiliser le séparateur " ; " pour
mettre dans chaque cellule de chaque ligne, voici
ce que j'ai écrit:

Sub Form_Load()
Dim colonne As Long
Dim ligne As Long
Dim pointeur As Long
Dim faute As String
Dim une_ligne As String
'Pour mon test, laisser ainsi
'Dim ta_cellule(41, 41) As String
'For ligne = 1 To 40
'For colonne = 1 To 40
'ta_cellule(colonne, ligne) = colonne * ligne
'Next colonne
'Next ligne
'
ChDrive App.Path
ChDir App.Path
pointeur = FreeFile
On Error GoTo erreur
Open "nom_de_fichier.xls" For Output As pointeur
For ligne = 1 To 40
une_ligne = ""
For colonne = 1 To 40
une_ligne = une_ligne &
ta_cellule(colonne, ligne) & ";"
Next colonne
Print #pointeur, une_ligne
Next ligne
Close pointeur
Exit Sub
erreur:
Close pointeur
faute = " ERREUR : Enrégistrement fichier " &
vbLf
faute = faute & Err.Number & vbLf
faute = faute & Err.Description & vbLf
faute = faute & Err.Source & vbLf
On Error Resume Next
MsgBox faute
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)

Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5329361
Bonjour.
Je n'ai pas compris si ta macro résolvait le problème ?
Avec XL2003, tu peux utiliser l'option Local = True de "SaveAs" pour obtenir
un ";" comme séparateur. Il utilise alors les paramètres locaux de Windows.
Cordialement.
Daniel
LE TROLL" %
Bonjour,

On a posé une question dans VB6 et >, sur la
construction sous Excel d'un fichier CSV, j'ai
donné le code, mais le problème est que chaque
ligne contient l'ensemble des cellules de cette
dernière.
Autrement dit, comment indiquer depuis le code
qu'il faut utiliser le séparateur " ; " pour
mettre dans chaque cellule de chaque ligne, voici
ce que j'ai écrit:

Sub Form_Load()
Dim colonne As Long
Dim ligne As Long
Dim pointeur As Long
Dim faute As String
Dim une_ligne As String
'Pour mon test, laisser ainsi
'Dim ta_cellule(41, 41) As String
'For ligne = 1 To 40
'For colonne = 1 To 40
'ta_cellule(colonne, ligne) = colonne * ligne
'Next colonne
'Next ligne
'
ChDrive App.Path
ChDir App.Path
pointeur = FreeFile
On Error GoTo erreur
Open "nom_de_fichier.xls" For Output As pointeur
For ligne = 1 To 40
une_ligne = ""
For colonne = 1 To 40
une_ligne = une_ligne &
ta_cellule(colonne, ligne) & ";"
Next colonne
Print #pointeur, une_ligne
Next ligne
Close pointeur
Exit Sub
erreur:
Close pointeur
faute = " ERREUR : Enrégistrement fichier " &
vbLf
faute = faute & Err.Number & vbLf
faute = faute & Err.Description & vbLf
faute = faute & Err.Source & vbLf
On Error Resume Next
MsgBox faute
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------




LE TROLL
Le #5329251
Bonjour, merci... non, pas résolu, peut être
est-ce impossible à partir du code ?

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Daniel.C" le message de news:

| Bonjour.
| Je n'ai pas compris si ta macro résolvait le
problème ?
| Avec XL2003, tu peux utiliser l'option Local =
True de "SaveAs" pour obtenir
| un ";" comme séparateur. Il utilise alors les
paramètres locaux de Windows.
| Cordialement.
| Daniel
| LE TROLL" message de news:
| %
| > Bonjour,
| >
| > On a posé une question dans VB6 et >, sur
la
| > construction sous Excel d'un fichier CSV, j'ai
| > donné le code, mais le problème est que chaque
| > ligne contient l'ensemble des cellules de
cette
| > dernière.
| > Autrement dit, comment indiquer depuis le code
| > qu'il faut utiliser le séparateur " ; " pour
| > mettre dans chaque cellule de chaque ligne,
voici
| > ce que j'ai écrit:
| >
| > Sub Form_Load()
| > Dim colonne As Long
| > Dim ligne As Long
| > Dim pointeur As Long
| > Dim faute As String
| > Dim une_ligne As String
| > 'Pour mon test, laisser ainsi
| > 'Dim ta_cellule(41, 41) As String
| > 'For ligne = 1 To 40
| > 'For colonne = 1 To 40
| > 'ta_cellule(colonne, ligne) = colonne * ligne
| > 'Next colonne
| > 'Next ligne
| > '
| > ChDrive App.Path
| > ChDir App.Path
| > pointeur = FreeFile
| > On Error GoTo erreur
| > Open "nom_de_fichier.xls" For Output As
pointeur
| > For ligne = 1 To 40
| > une_ligne = ""
| > For colonne = 1 To 40
| > une_ligne = une_ligne &
| > ta_cellule(colonne, ligne) & ";"
| > Next colonne
| > Print #pointeur, une_ligne
| > Next ligne
| > Close pointeur
| > Exit Sub
| > erreur:
| > Close pointeur
| > faute = " ERREUR : Enrégistrement fichier " &
| > vbLf
| > faute = faute & Err.Number & vbLf
| > faute = faute & Err.Description & vbLf
| > faute = faute & Err.Source & vbLf
| > On Error Resume Next
| > MsgBox faute
| > End Sub
| >
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
------------------------------------------------------------------------------------
| >

| >
|
|

Daniel.C
Le #5329161
Je n'ai pas saisi quel est le problème avec ton code. Qu'est-ce qui est
incorrect ?
Daniel
"LE TROLL" Oakwh%
Bonjour, merci... non, pas résolu, peut être
est-ce impossible à partir du code ?

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Daniel.C" le message de news:

| Bonjour.
| Je n'ai pas compris si ta macro résolvait le
problème ?
| Avec XL2003, tu peux utiliser l'option Local > True de "SaveAs" pour obtenir
| un ";" comme séparateur. Il utilise alors les
paramètres locaux de Windows.
| Cordialement.
| Daniel
| LE TROLL" message de news:
| %
| > Bonjour,
| >
| > On a posé une question dans VB6 et >, sur
la
| > construction sous Excel d'un fichier CSV, j'ai
| > donné le code, mais le problème est que chaque
| > ligne contient l'ensemble des cellules de
cette
| > dernière.
| > Autrement dit, comment indiquer depuis le code
| > qu'il faut utiliser le séparateur " ; " pour
| > mettre dans chaque cellule de chaque ligne,
voici
| > ce que j'ai écrit:
| >
| > Sub Form_Load()
| > Dim colonne As Long
| > Dim ligne As Long
| > Dim pointeur As Long
| > Dim faute As String
| > Dim une_ligne As String
| > 'Pour mon test, laisser ainsi
| > 'Dim ta_cellule(41, 41) As String
| > 'For ligne = 1 To 40
| > 'For colonne = 1 To 40
| > 'ta_cellule(colonne, ligne) = colonne * ligne
| > 'Next colonne
| > 'Next ligne
| > '
| > ChDrive App.Path
| > ChDir App.Path
| > pointeur = FreeFile
| > On Error GoTo erreur
| > Open "nom_de_fichier.xls" For Output As
pointeur
| > For ligne = 1 To 40
| > une_ligne = ""
| > For colonne = 1 To 40
| > une_ligne = une_ligne &
| > ta_cellule(colonne, ligne) & ";"
| > Next colonne
| > Print #pointeur, une_ligne
| > Next ligne
| > Close pointeur
| > Exit Sub
| > erreur:
| > Close pointeur
| > faute = " ERREUR : Enrégistrement fichier " &
| > vbLf
| > faute = faute & Err.Number & vbLf
| > faute = faute & Err.Description & vbLf
| > faute = faute & Err.Source & vbLf
| > On Error Resume Next
| > MsgBox faute
| > End Sub
| >
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
------------------------------------------------------------------------------------
| >

| >
|
|





LE TROLL
Le #5329091
Je voudrais rajouter, mais je ne sais comment,
qu'Excel prennent comme paramètre d'ouverture du
fichier, le ";" pour la séparation des cellules
dans chacune des lignes de ce fichier csv ?

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Daniel.C" le message de news:

| Je n'ai pas saisi quel est le problème avec ton
code. Qu'est-ce qui est
| incorrect ?
| Daniel
| "LE TROLL" message de news:
| Oakwh%
| > Bonjour, merci... non, pas résolu, peut être
| > est-ce impossible à partir du code ?
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
------------------------------------------------------------------------------------
| > "Daniel.C"

dans
| > le message de news:
| >
| > | Bonjour.
| > | Je n'ai pas compris si ta macro résolvait le
| > problème ?
| > | Avec XL2003, tu peux utiliser l'option Local
| > True de "SaveAs" pour obtenir
| > | un ";" comme séparateur. Il utilise alors
les
| > paramètres locaux de Windows.
| > | Cordialement.
| > | Daniel
| > | LE TROLL" le
| > message de news:
| > | %
| > | > Bonjour,
| > | >
| > | > On a posé une question dans VB6 et >,
sur
| > la
| > | > construction sous Excel d'un fichier CSV,
j'ai
| > | > donné le code, mais le problème est que
chaque
| > | > ligne contient l'ensemble des cellules de
| > cette
| > | > dernière.
| > | > Autrement dit, comment indiquer depuis le
code
| > | > qu'il faut utiliser le séparateur " ; "
pour
| > | > mettre dans chaque cellule de chaque
ligne,
| > voici
| > | > ce que j'ai écrit:
| > | >
| > | > Sub Form_Load()
| > | > Dim colonne As Long
| > | > Dim ligne As Long
| > | > Dim pointeur As Long
| > | > Dim faute As String
| > | > Dim une_ligne As String
| > | > 'Pour mon test, laisser ainsi
| > | > 'Dim ta_cellule(41, 41) As String
| > | > 'For ligne = 1 To 40
| > | > 'For colonne = 1 To 40
| > | > 'ta_cellule(colonne, ligne) = colonne *
ligne
| > | > 'Next colonne
| > | > 'Next ligne
| > | > '
| > | > ChDrive App.Path
| > | > ChDir App.Path
| > | > pointeur = FreeFile
| > | > On Error GoTo erreur
| > | > Open "nom_de_fichier.xls" For Output As
| > pointeur
| > | > For ligne = 1 To 40
| > | > une_ligne = ""
| > | > For colonne = 1 To 40
| > | > une_ligne = une_ligne &
| > | > ta_cellule(colonne, ligne) & ";"
| > | > Next colonne
| > | > Print #pointeur, une_ligne
| > | > Next ligne
| > | > Close pointeur
| > | > Exit Sub
| > | > erreur:
| > | > Close pointeur
| > | > faute = " ERREUR : Enrégistrement fichier
" &
| > | > vbLf
| > | > faute = faute & Err.Number & vbLf
| > | > faute = faute & Err.Description & vbLf
| > | > faute = faute & Err.Source & vbLf
| > | > On Error Resume Next
| > | > MsgBox faute
| > | > End Sub
| > | >
| > | >
| > | > --
| > | > Merci beaucoup, au revoir et à bientôt :o)
| > | > ------
| > | > Romans, logiciels, email, site personnel
| > | > http://irolog.free.fr/joe.htm
| > |
| >
------------------------------------------------------------------------------------
| > | >

| > | >
| > |
| > |
| >
| >
|
|

Daniel.C
Le #5329071
Essaie :

Sub Form_Load()
Dim colonne As Long
Dim ligne As Long
Dim pointeur As Long
Dim faute As String
Dim une_ligne As String
'Pour mon test, laisser ainsi
'Dim ta_cellule(41, 41) As String
'For ligne = 1 To 40
'For colonne = 1 To 40
'ta_cellule(colonne, ligne) = colonne * ligne
'Next colonne
'Next ligne
'
ChDrive Application.Path
ChDir Application.Path
pointeur = FreeFile
On Error GoTo erreur
Open "nom_de_fichier.csv" For Output As pointeur
For ligne = 1 To 40
une_ligne = ""
For colonne = 1 To 40
une_ligne = une_ligne & Cells(colonne, ligne) & ";"
Next colonne
Print #pointeur, une_ligne
Next ligne
Close pointeur
Exit Sub
erreur:
Close pointeur
faute = " ERREUR : Enrégistrement fichier " & vbLf
faute = faute & Err.Number & vbLf
faute = faute & Err.Description & vbLf
faute = faute & Err.Source & vbLf
On Error Resume Next
MsgBox faute
End Sub

Daniel
"LE TROLL"
Je voudrais rajouter, mais je ne sais comment,
qu'Excel prennent comme paramètre d'ouverture du
fichier, le ";" pour la séparation des cellules
dans chacune des lignes de ce fichier csv ?

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Daniel.C" le message de news:

| Je n'ai pas saisi quel est le problème avec ton
code. Qu'est-ce qui est
| incorrect ?
| Daniel
| "LE TROLL" message de news:
| Oakwh%
| > Bonjour, merci... non, pas résolu, peut être
| > est-ce impossible à partir du code ?
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
------------------------------------------------------------------------------------
| > "Daniel.C"

dans
| > le message de news:
| >
| > | Bonjour.
| > | Je n'ai pas compris si ta macro résolvait le
| > problème ?
| > | Avec XL2003, tu peux utiliser l'option Local
| > True de "SaveAs" pour obtenir
| > | un ";" comme séparateur. Il utilise alors

les
| > paramètres locaux de Windows.
| > | Cordialement.
| > | Daniel
| > | LE TROLL" le
| > message de news:
| > | %
| > | > Bonjour,
| > | >
| > | > On a posé une question dans VB6 et >,
sur
| > la
| > | > construction sous Excel d'un fichier CSV,
j'ai
| > | > donné le code, mais le problème est que
chaque
| > | > ligne contient l'ensemble des cellules de
| > cette
| > | > dernière.
| > | > Autrement dit, comment indiquer depuis le
code
| > | > qu'il faut utiliser le séparateur " ; "
pour
| > | > mettre dans chaque cellule de chaque
ligne,
| > voici
| > | > ce que j'ai écrit:
| > | >
| > | > Sub Form_Load()
| > | > Dim colonne As Long
| > | > Dim ligne As Long
| > | > Dim pointeur As Long
| > | > Dim faute As String
| > | > Dim une_ligne As String
| > | > 'Pour mon test, laisser ainsi
| > | > 'Dim ta_cellule(41, 41) As String
| > | > 'For ligne = 1 To 40
| > | > 'For colonne = 1 To 40
| > | > 'ta_cellule(colonne, ligne) = colonne *
ligne
| > | > 'Next colonne
| > | > 'Next ligne
| > | > '
| > | > ChDrive App.Path
| > | > ChDir App.Path
| > | > pointeur = FreeFile
| > | > On Error GoTo erreur
| > | > Open "nom_de_fichier.xls" For Output As
| > pointeur
| > | > For ligne = 1 To 40
| > | > une_ligne = ""
| > | > For colonne = 1 To 40
| > | > une_ligne = une_ligne &
| > | > ta_cellule(colonne, ligne) & ";"
| > | > Next colonne
| > | > Print #pointeur, une_ligne
| > | > Next ligne
| > | > Close pointeur
| > | > Exit Sub
| > | > erreur:
| > | > Close pointeur
| > | > faute = " ERREUR : Enrégistrement fichier
" &
| > | > vbLf
| > | > faute = faute & Err.Number & vbLf
| > | > faute = faute & Err.Description & vbLf
| > | > faute = faute & Err.Source & vbLf
| > | > On Error Resume Next
| > | > MsgBox faute
| > | > End Sub
| > | >
| > | >
| > | > --
| > | > Merci beaucoup, au revoir et à bientôt :o)
| > | > ------
| > | > Romans, logiciels, email, site personnel
| > | > http://irolog.free.fr/joe.htm
| > |
| >
------------------------------------------------------------------------------------
| > | >

| > | >
| > |
| > |
| >
| >
|
|





Publicité
Poster une réponse
Anonyme