vba - enregistrer en CSV

Le
sunburn
Bonjour,
que dois-je mettre en vba, si je souhaite enregsitrer mon fichier selon me
demandes suivantes :
- en format CSV, séparateur ;
- dans le même répertoire que mon .xls
- avec le meme nom que mon .xls

Je vous remercie.

YANN
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
MichDenis
Le #19599891
Bonjour sunburn,

Attention : Le paramètre "Local" de la méthode SAVEAS existe depuis la version Excel 2002
(de mémoire) si tu utilises la macro dans une version précédente, cela générera une
erreur.

'----------------------------------
Sub test()
Dim Nom As String
Nom = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3)
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Nom, FileFormat:=xlCSV,
Local:=True
End Sub
'----------------------------------



"sunburn" discussion :
Bonjour,
que dois-je mettre en vba, si je souhaite enregsitrer mon fichier selon me
demandes suivantes :
- en format CSV, séparateur ;
- dans le même répertoire que mon .xls
- avec le meme nom que mon .xls

Je vous remercie.

YANN
FFO
Le #19599881
Salut à toi

Peut être avec ceci :

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" &
Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 3) & "csv", FileFormat:= _
xlCSV, CreateBackup:úlse

Dis moi !!!!!
sunburn
Le #19600561
re,
alors en fait, c'est plus compliqué que ça.
j'utilise bien excel 2003, pas de soucis.
par contre, ma macro est écrite dans un fichier "MacroMoi.xls", et ce
fichier comporte 1 barre d'outils avec 2 bouton.
les effets de cette macro se font sur un autre fichier. ce fichier à traiter
change tout le temps. c'est pour ça que j'ai ma macro à part du fichier à
traiter, pour pouvoir l'utiliser facilement sur plein de fichiers.
donc le ThisWorkbook marche pas....
je vous met mon fichier avec ma macro pour voir

http://www.cijoint.fr/cjlink.php?file=cj200906/cij39fip8g.xls

merci
YANN

"MichDenis" a écrit :

Bonjour sunburn,

Attention : Le paramètre "Local" de la méthode SAVEAS existe depuis la version Excel 2002
(de mémoire) si tu utilises la macro dans une version précédente, cela générera une
erreur.

'----------------------------------
Sub test()
Dim Nom As String
Nom = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3)
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Nom, FileFormat:=xlCSV,
Local:=True
End Sub
'----------------------------------



"sunburn" discussion :
Bonjour,
que dois-je mettre en vba, si je souhaite enregsitrer mon fichier selon me
demandes suivantes :
- en format CSV, séparateur ;
- dans le même répertoire que mon .xls
- avec le meme nom que mon .xls

Je vous remercie.

YANN




sunburn
Le #19600551
je viens de répondre plus haut à Michel Denis.
ma problématique y est expliqué.
si tu peux faire quelque chose pour moi, merci.
YANN

"FFO" a écrit :

Salut à toi

Peut être avec ceci :

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" &
Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - 3) & "csv", FileFormat:= _
xlCSV, CreateBackup:úlse

Dis moi !!!!!



MichDenis
Le #19601011
Je n'ai pas regardé ton fichier... mais pour obtenir
ce que tu veux :
Remplace ThisWorkbook par ActiveWorkbook

De plus, seule la feuille active du classeur actif sera enregistrée
au format CSV et non tout le classeur. En conséquence, tu dois
t'assurer que tu as la bonne feuille du bon classeur actif à l'écran
avant de lancer la procédure.

"sunburn" discussion :
re,
alors en fait, c'est plus compliqué que ça.
j'utilise bien excel 2003, pas de soucis.
par contre, ma macro est écrite dans un fichier "MacroMoi.xls", et ce
fichier comporte 1 barre d'outils avec 2 bouton.
les effets de cette macro se font sur un autre fichier. ce fichier à traiter
change tout le temps. c'est pour ça que j'ai ma macro à part du fichier à
traiter, pour pouvoir l'utiliser facilement sur plein de fichiers.
donc le ThisWorkbook marche pas....
je vous met mon fichier avec ma macro pour voir

http://www.cijoint.fr/cjlink.php?file=cj200906/cij39fip8g.xls

merci
YANN

"MichDenis" a écrit :

Bonjour sunburn,

Attention : Le paramètre "Local" de la méthode SAVEAS existe depuis la version Excel
2002
(de mémoire) si tu utilises la macro dans une version précédente, cela générera une
erreur.

'----------------------------------
Sub test()
Dim Nom As String
Nom = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3)
ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Nom, FileFormat:=xlCSV,
Local:=True
End Sub
'----------------------------------



"sunburn" discussion :
Bonjour,
que dois-je mettre en vba, si je souhaite enregsitrer mon fichier selon me
demandes suivantes :
- en format CSV, séparateur ;
- dans le même répertoire que mon .xls
- avec le meme nom que mon .xls

Je vous remercie.

YANN




FFO
Le #19613401
Rebonjour à toi

Ce code devrait parfaitement convenir :

ActiveWorkbook.SaveAs Filename:¬tiveWorkbook.Path & "" &
Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 3) & "csv",
FileFormat:= _
xlCSV, CreateBackup:úlse

Il suffit que le fichier à enregistrer en CVS soit actif et d'activer ce
code pour l'enregistrer en CVS dans le même répertoire que ce fichier avec le
même nom et l'extension ".CVS"

Fais des essais et dis moi !!!!!!
sunburn
Le #19614401
bonjour,
merci beaucoup, ça fonctionne impecablement bien.
YANN

"MichDenis" a écrit :

Je n'ai pas regardé ton fichier... mais pour obtenir
ce que tu veux :
Remplace ThisWorkbook par ActiveWorkbook

De plus, seule la feuille active du classeur actif sera enregistrée
au format CSV et non tout le classeur. En conséquence, tu dois
t'assurer que tu as la bonne feuille du bon classeur actif à l'écran
avant de lancer la procédure.

"sunburn" discussion :
re,
alors en fait, c'est plus compliqué que ça.
j'utilise bien excel 2003, pas de soucis.
par contre, ma macro est écrite dans un fichier "MacroMoi.xls", et ce
fichier comporte 1 barre d'outils avec 2 bouton.
les effets de cette macro se font sur un autre fichier. ce fichier à traiter
change tout le temps. c'est pour ça que j'ai ma macro à part du fichier à
traiter, pour pouvoir l'utiliser facilement sur plein de fichiers.
donc le ThisWorkbook marche pas....
je vous met mon fichier avec ma macro pour voir

http://www.cijoint.fr/cjlink.php?file=cj200906/cij39fip8g.xls

merci
YANN

"MichDenis" a écrit :

> Bonjour sunburn,
>
> Attention : Le paramètre "Local" de la méthode SAVEAS existe depuis la version Excel
> 2002
> (de mémoire) si tu utilises la macro dans une version précédente, cela générera une
> erreur.
>
> '----------------------------------
> Sub test()
> Dim Nom As String
> Nom = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3)
> ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & Nom, FileFormat:=xlCSV,
> Local:=True
> End Sub
> '----------------------------------
>
>
>
> "sunburn" > discussion :
> Bonjour,
> que dois-je mettre en vba, si je souhaite enregsitrer mon fichier selon me
> demandes suivantes :
> - en format CSV, séparateur ;
> - dans le même répertoire que mon .xls
> - avec le meme nom que mon .xls
>
> Je vous remercie.
>
> YANN
>
>



sunburn
Le #19614411
re,
merci, j'ai remplacé thisworkbook par activeworkbook, et c'est impec.
par contre, j'ai mis -4 caractères, et c'est bon.
YANN

"FFO" a écrit :

Rebonjour à toi

Ce code devrait parfaitement convenir :

ActiveWorkbook.SaveAs Filename:¬tiveWorkbook.Path & "" &
Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 3) & "csv",
FileFormat:= _
xlCSV, CreateBackup:úlse

Il suffit que le fichier à enregistrer en CVS soit actif et d'activer ce
code pour l'enregistrer en CVS dans le même répertoire que ce fichier avec le
même nom et l'extension ".CVS"

Fais des essais et dis moi !!!!!!



Publicité
Poster une réponse
Anonyme