Changer format et extension de fichier

Bonjour à toutes et tous,

En parcourant ce forum j'ai repris différents codes pour écrire et adapter la procédure ci après qui fonctionne comme je le souhaite.

Cette procédure sauvegarde tous les fichiers excel ouverts (au départ des csv) avec leur nom initial en changeant leur format en xlsb et les referme; à l'exception du classeur me servant à lancer la macro.

Tous les fichiers sont ouverts à partir du même répertoire.

Néanmoins si ma procédure modifie bien le format de fichier, je n'arrive par contre pas (j'ai essayé sans succés avec name as) à changer l'extension, mes fichier restent avec l'extension .csv alors que je voudrais .xlsb. (et du coup le csv original même s'il garde l'extension csv est converti en xlsb).

Ainsi je voudrais par exemple A.cvs original qui devienne nouveau A.xlsb.

Ainsi j'aurais en fin de traitement dans mon répertoire à la fois le csv original et le nouveau xlsb.

J'espère être assez clair pour que vous puissiez m'aider à résoudre mon problème

Merci

Cordialement

Hugues

Sub Sauvegarde()

Dim Wbk As Workbook

For Each Wbk In Workbooks

If Wbk.Name <> ThisWorkbook.Name Then

      Wbk.SaveAs Wbk.Name, FileFormat:=xlExcel12, CreateBackup:=False
      Wbk.Close

End If

Next Wbk

End Sub

Bonsoir,

avez vous fait un msgbox de Wbk.Name ?

il donne : classeur ou classeur.cvs ?

@ bientôt

LouReeD

Bonsoir,

C'est que le nom (comporte une extension csv.

Tu déclares une variable String, tu lui affectes : =Replace(Wbk.Name, "csv", "xlsb")

Et tu SaveAs sous le nom donné par ta variable.

Cordialement

Ferrand

Bonjour,

voilà c'est ça que je voulais dire mais je n'ai pas su le mettre en lettre !!!!

MFerrand bravo !

La Réunion ? je connais ici quelqu'un de là bas... mais plus de nouvelles...

@ bientôt

LouReeD

Bonjour LouReed et MFerrand,

Merci à vous 2 pour vos réponses.

MFerrand tu avais la solution.

Ce post était donc une bonne Réunion pour rester sur la philosophie agréable de vos 2 derniers message dans ce post.

Merci

Cordialement

Hugues

Ci après le code modifié

Sub Sauvegarde()

Dim Wbk As Workbook
Dim Fichier As String

For Each Wbk In Workbooks
    If Wbk.Name <> ThisWorkbook.Name Then
            Fichier = Replace(Wbk.Name, "csv", "xlsb")
            Wbk.SaveAs Fichier, FileFormat:=xlExcel12, CreateBackup:=False
            Wbk.Close
    End If
Next Wbk

End Sub

Bonjour

merci à vous de votre merci !

@ bientôt

LouReeD

Rechercher des sujets similaires à "changer format extension fichier"