Import d'un fichier csv

Le
Merguez07
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Merguez07
Le #18788061
J'avais oublié de préciser que je suis en Excel 2000


Merguez07 a écrit :
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip


michdenis
Le #18788051
Quand tu ouvres ton fichier par l'interface de la feuille de calcul d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et utiliser
les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de travail
Windows, Excel s'ouvre avec les données du fichier .csv parfaitement
formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir en
sélectionnant l'extension fichier texte) j'ai les données non formatées.
C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip


Merguez07
Le #18788471
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc doit
pouvoir formater les données sans toucher au panneau de configuration de
chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip





MichDenis
Le #18797951
J'ai fait un test en utilisant Excel 2003 et 2007, et les 2 m'ont donné un résultat
satisfaisant;

Voici d'abord le contenu du fichier texte :
"Date de création","Suivi des étapes","Sécurité-Nature du danger"
"10/02/09","Denis","ok"

J'ai procédé de cette manière pour les ouvrir :

Fichier / ouvrir / appel du fichier
Lors de la première fenêtre, voici les choix que j'ai effectué :
Fenêtre 1 : Délimité
fenêtre 2 : Décocher la cas tabulation
Et cocher la case virgule
Fenêtre 3: Clic sur le bouton Terminer

Et tout est correct. Tu refais ces manipulations avec l'enregistreur de macro
et tu obtiendras le code requis.



"Merguez07"
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc doit
pouvoir formater les données sans toucher au panneau de configuration de
chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip





michdenis
Le #18788931
L'essentiel de la macro devrait ressembler à ceci.
Il te reste un peu de mise en page à faire ... voir l'enregistreur macro.

'--------------------------
Sub test()

Dim Fichier As String
Fichier = "C:UsersPowerUserDownloadstest_denis.txt"

Workbooks.OpenText Filename:=Fichier, DataType:=xlDelimited, _
Tab:úlse, comma:=True, fieldinfo:=(Array(4, 2))
End Sub
'--------------------------


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc doit
pouvoir formater les données sans toucher au panneau de configuration de
chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip







Merguez07
Le #18789621
malheureusement j'ai tout essayé comme réglage mais rien n'y fait
encore un des mystères d'Excel mais il semble impossible d'obtenir le
bon format en utilisant Workbooks.OpenText

merci




michdenis a écrit :
L'essentiel de la macro devrait ressembler à ceci.
Il te reste un peu de mise en page à faire ... voir l'enregistreur macro.

'--------------------------
Sub test()

Dim Fichier As String
Fichier = "C:UsersPowerUserDownloadstest_denis.txt"

Workbooks.OpenText Filename:=Fichier, DataType:=xlDelimited, _
Tab:úlse, comma:=True, fieldinfo:=(Array(4, 2))
End Sub
'--------------------------


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc
doit pouvoir formater les données sans toucher au panneau de
configuration de chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA.
Ce programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel
(Fichier/Ouvrir en sélectionnant l'extension fichier texte) j'ai les
données non formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip










MichDenis
Le #18797931
Au lieu de t'apitoyer sur ton sort, si tu prenais quelques instants
pour expliquer ce qui ne va pas. Qu'est-ce que tu obtiens avec
la procédure donnée ? Et que voudrais-tu obtenir ? Le type de
remarque que tu fais ne fais pas avancé ta cause...


"Merguez07"
malheureusement j'ai tout essayé comme réglage mais rien n'y fait
encore un des mystères d'Excel mais il semble impossible d'obtenir le
bon format en utilisant Workbooks.OpenText

merci




michdenis a écrit :
L'essentiel de la macro devrait ressembler à ceci.
Il te reste un peu de mise en page à faire ... voir l'enregistreur macro.

'--------------------------
Sub test()

Dim Fichier As String
Fichier = "C:UsersPowerUserDownloadstest_denis.txt"

Workbooks.OpenText Filename:=Fichier, DataType:=xlDelimited, _
Tab:úlse, comma:=True, fieldinfo:=(Array(4, 2))
End Sub
'--------------------------


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc
doit pouvoir formater les données sans toucher au panneau de
configuration de chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA.
Ce programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel
(Fichier/Ouvrir en sélectionnant l'extension fichier texte) j'ai les
données non formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip










Mishell
Le #18790061
Bonjour.

Pour éviter que le délimiteur entre en conflit avec le séparateur décimal
régional, remplacer le délimiteur conflictuel :

Mishell

Sub OuvrirFichierCSV_EnRemplacantDelimiteur()

Fichier = "C:test2.csv"

FichierTemp = "C:Temp.csv"

separateurdecimal = Format(0, ".")
separateurdecimalEtGuillemet = separateurdecimal & Chr(34)

If separateurdecimal = "," Then
Rechercher = "," & Chr(34)
remplacerPar = ";"
Else
Rechercher = ";" & Chr(34)
remplacerPar = ","
End If

Open Fichier For Input As 1
a = Input(FileLen(Fichier), 1)
Close

While InStr(a, Rechercher) > 0
b = InStr(a, Rechercher)
a = Mid(a, 1, b - 1) & remplacerPar & Mid(a, b + Len(Rechercher) - 1)
Wend

Open FichierTemp For Output As 1
Print #1, a;
Close 1

Workbooks.Open Filename:=FichierTemp

End Sub


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc doit
pouvoir formater les données sans toucher au panneau de configuration de
chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip







Merguez07
Le #18791611
Génial Mishell, ça marche du tonnerre de dieu

merci


Mishell a écrit :
Bonjour.

Pour éviter que le délimiteur entre en conflit avec le séparateur décimal
régional, remplacer le délimiteur conflictuel :

Mishell

Sub OuvrirFichierCSV_EnRemplacantDelimiteur()

Fichier = "C:test2.csv"

FichierTemp = "C:Temp.csv"

separateurdecimal = Format(0, ".")
separateurdecimalEtGuillemet = separateurdecimal & Chr(34)

If separateurdecimal = "," Then
Rechercher = "," & Chr(34)
remplacerPar = ";"
Else
Rechercher = ";" & Chr(34)
remplacerPar = ","
End If

Open Fichier For Input As 1
a = Input(FileLen(Fichier), 1)
Close

While InStr(a, Rechercher) > 0
b = InStr(a, Rechercher)
a = Mid(a, 1, b - 1) & remplacerPar & Mid(a, b + Len(Rechercher) - 1)
Wend

Open FichierTemp For Output As 1
Print #1, a;
Close 1

Workbooks.Open Filename:=FichierTemp

End Sub


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc doit
pouvoir formater les données sans toucher au panneau de configuration de
chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA. Ce
programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel (Fichier/Ouvrir
en sélectionnant l'extension fichier texte) j'ai les données non
formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip










Mishell
Le #18799171
Je crois qu'il a spécifié qu'il est avec Excel 2000. C'est peut-être ce qui
fait que ça ne fonctionne pas avec cette procédure qui fonctionne avec Excel
2003.


"MichDenis" news:
Au lieu de t'apitoyer sur ton sort, si tu prenais quelques instants
pour expliquer ce qui ne va pas. Qu'est-ce que tu obtiens avec
la procédure donnée ? Et que voudrais-tu obtenir ? Le type de
remarque que tu fais ne fais pas avancé ta cause...


"Merguez07" discussion :

malheureusement j'ai tout essayé comme réglage mais rien n'y fait
encore un des mystères d'Excel mais il semble impossible d'obtenir le
bon format en utilisant Workbooks.OpenText

merci




michdenis a écrit :
L'essentiel de la macro devrait ressembler à ceci.
Il te reste un peu de mise en page à faire ... voir l'enregistreur macro.

'--------------------------
Sub test()

Dim Fichier As String
Fichier = "C:UsersPowerUserDownloadstest_denis.txt"

Workbooks.OpenText Filename:=Fichier, DataType:=xlDelimited, _
Tab:úlse, comma:=True, fieldinfo:=(Array(4, 2))
End Sub
'--------------------------


"Merguez07" news:
le format des données et de la forme suivante:
"Date de création","Suivi des étapes","Sécurité-Nature du danger"

chaque donnée (même les dates) qui doit être mis dans une cellule est
entre guillemet et le séparateur est la virgule.
un caractère qui ressemble à une rectangle dans mon bloc-note indique
qu'il faut passer à la ligne suivante.

Ce programme doit pouvoir fonctionner quelque soit le poste et donc
doit pouvoir formater les données sans toucher au panneau de
configuration de chaque ordinateur.


voici le fichier texte associé
http://www.cijoint.fr/cjlink.php?file=cj200902/cijHhngiml.txt

peut être dois-je créer une routine spécifique ?


michdenis a écrit :
Quand tu ouvres ton fichier par l'interface de la feuille de calcul
d'excel,
excel ouvre ton fichier en utilisant les paramètres du panneau de
configuration de Windows. Lorsque le même fichier est ouvert par
une procédure VBA, ce sont les paramètres "américains" (ceux du
code vba) qui sont utilisés

Quel est le type de données que tu essaies de formater ? Par exemple
est-ce que tes données utilisent le point ou la virgule comme
séparateur
décimale ? Et ton dans ton panneau de configuration, est-ce le même ?
même chose en ce qui concerne les dates ...!


"Merguez07" news:49a98e38$0$23991$
bonjour à tous,
voilà mon problème. Je souhaite élaboré un programme excel en VBA.
Ce programme est doit ouvrir un fichier csv, le mettre en forme , et
utiliser les données.

Jusque là rien de bien compliqué.

Le problème sur lequel je bute c'est la mise en forme.
Lorsque je lance directement le fichier .csv à partir du poste de
travail Windows, Excel s'ouvre avec les données du fichier .csv
parfaitement formatées.

Par contre si j'ouvre le fichier .csv à partir d'Excel
(Fichier/Ouvrir en sélectionnant l'extension fichier texte) j'ai les
données non formatées. C'est normal car je dois les convertir.
Mais impossible de trouver le réglage de conversion qui me permet
d'obtenir le bon formattage des données. Pourtant Excel le fait bien
lorsque je lance le fichier directement à partir de Windows.

J'ai tout essayé mais rien n'y fait

Une bonne âme aurait-elle une idée?

voici mon fichier csv :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijYi3mOEP.zip












Publicité
Poster une réponse
Anonyme