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

Conversion CSV vers XLS via macro Excel

2 réponses
Avatar
Nova
Bonjour,

Besoin d'une explication et si possible d'une solution.

Je récupère un tableau diffusé sous Intranet sous le forme d'un fichier
.csv.
Le fichier est propre, les séparateurs sont des ";".
Je dois ensuite faire des tris et des mises en forme.

Si j'ourvre mon .csv directement dans Excel, Fichier, Ouvrir, *.csv, et
que je fais
Données, Convertir, Format fixe, Séparateur ";", tout baigne.

Maintenant si j'enregistre cette séquence dans une Macro, et que je lance la
Macro,
le travail se fait, mais je perds des données par rapport à la première
méthode.

J'ai du rater quelquechose, mais quoi ?

Nova

2 réponses

Avatar
michdenis
Bonjour Nova,

Si ta version d'excel date d'avant excel 2002, tu peux utiliser
ceci pour ouvrir un fichier csv par macro.
Si tu double-cliques dans l'explorateur Windows sur un fichier .csv,
tu continueras d'avoir la problématique que tu décris.

Si ta version Excel est 2002 ou 2003, regarde dans l'aide, un des
paramêtres de la méthode "Open" de l'objet "Workbooks" s'appelle
"local" et tu n'as seulement qu'à le mettre à true... comme ceci :

Workbooks.open Filename:="c:Mon fichier.xls", Local :=True


'-----------------------------------------
Sub CSVOpener()
'd'après P. Penet, mpfe
Dim wb As Workbook, NomFich

With Application
NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
End With

End Sub
'-----------------------------------------


Salutations!




"Nova" a écrit dans le message de news: kVQzf.1669$
Bonjour,

Besoin d'une explication et si possible d'une solution.

Je récupère un tableau diffusé sous Intranet sous le forme d'un fichier
.csv.
Le fichier est propre, les séparateurs sont des ";".
Je dois ensuite faire des tris et des mises en forme.

Si j'ourvre mon .csv directement dans Excel, Fichier, Ouvrir, *.csv, et
que je fais
Données, Convertir, Format fixe, Séparateur ";", tout baigne.

Maintenant si j'enregistre cette séquence dans une Macro, et que je lance la
Macro,
le travail se fait, mais je perds des données par rapport à la première
méthode.

J'ai du rater quelquechose, mais quoi ?

Nova
Avatar
Nova
Merci, ça marche.

"michdenis" a écrit dans le message de news:

Bonjour Nova,

Si ta version d'excel date d'avant excel 2002, tu peux utiliser
ceci pour ouvrir un fichier csv par macro.
Si tu double-cliques dans l'explorateur Windows sur un fichier .csv,
tu continueras d'avoir la problématique que tu décris.

Si ta version Excel est 2002 ou 2003, regarde dans l'aide, un des
paramêtres de la méthode "Open" de l'objet "Workbooks" s'appelle
"local" et tu n'as seulement qu'à le mettre à true... comme ceci :

Workbooks.open Filename:="c:Mon fichier.xls", Local :=True


'-----------------------------------------
Sub CSVOpener()
'd'après P. Penet, mpfe
Dim wb As Workbook, NomFich

With Application
NomFich = Application.GetOpenFilename("Fichiers texte,*.csv;*.txt")
If NomFich = False Then Exit Sub
Set wb = .Workbooks.Open(NomFich)
wb.Sheets(1).Columns(1).TextToColumns Range("A1"), , , False, , True
End With

End Sub
'-----------------------------------------


Salutations!




"Nova" a écrit dans le message de news:
kVQzf.1669$
Bonjour,

Besoin d'une explication et si possible d'une solution.

Je récupère un tableau diffusé sous Intranet sous le forme d'un fichier
.csv.
Le fichier est propre, les séparateurs sont des ";".
Je dois ensuite faire des tris et des mises en forme.

Si j'ourvre mon .csv directement dans Excel, Fichier, Ouvrir, *.csv, et
que je fais
Données, Convertir, Format fixe, Séparateur ";", tout baigne.

Maintenant si j'enregistre cette séquence dans une Macro, et que je lance
la
Macro,
le travail se fait, mais je perds des données par rapport à la première
méthode.

J'ai du rater quelquechose, mais quoi ?

Nova