Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Import d'un fichier csv

13 réponses
Avatar
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

10 réponses

1 2
Avatar
Merguez07
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


Avatar
michdenis
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" a écrit dans le message de
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


Avatar
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" a écrit dans le message de
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





Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :

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" a écrit dans le message de
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





Avatar
michdenis
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" a écrit dans le message de
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" a écrit dans le message de
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







Avatar
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" a écrit dans le message de
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" a écrit dans le message de
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










Avatar
MichDenis
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" a écrit dans le message de groupe de 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" a écrit dans le message de
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" a écrit dans le message de
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










Avatar
Mishell
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" wrote in message
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" a écrit dans le message de
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







Avatar
Merguez07
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" wrote in message
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" a écrit dans le message de
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










Avatar
Mishell
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" wrote in message
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" a écrit dans le message de groupe de
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" a écrit dans le message de
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" a écrit dans le message de
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












1 2