VBA Excel: enregistrer tous les fichiers d'un mm dossier en xlsx
Charlotte
-
Charlotte -
Charlotte -
Bonjour,
Je dispose d'un dossier contenant plusieurs classeurs Excel au format .csv
Je souhaite automatiser leur conversion en xlsx par un code vba.
Actuellement, je les ouvre les uns après les autres, je passe par "Enregistrer sous" et je sélectionne dans type de fichier "Classeur Excel" avant de confirmer. Puis je répète l'opération autant de fois qu'il y a de classeur.
Quelqu'un aurait-il une solution miracle pour me faire gagner du temps??
Merci d'avance!!
Je dispose d'un dossier contenant plusieurs classeurs Excel au format .csv
Je souhaite automatiser leur conversion en xlsx par un code vba.
Actuellement, je les ouvre les uns après les autres, je passe par "Enregistrer sous" et je sélectionne dans type de fichier "Classeur Excel" avant de confirmer. Puis je répète l'opération autant de fois qu'il y a de classeur.
Quelqu'un aurait-il une solution miracle pour me faire gagner du temps??
Merci d'avance!!
A voir également:
- Vba enregistrer sous xlsx
- Audacity enregistrer son pc - Guide
- Filme xlsx - Télécharger - Tableur
- Comment ouvrir un fichier xlsx ? - Guide
- Comment enregistrer une conversation - Guide
- Enregistrer son ecran - Guide
Merci
Comme j'utilise Excel 2010 et qu'il est indiqué que cette version fait automatiquement la conversion, je me demande si une procédure si importante est nécessaire? De plus, j'ai lancé la conversion mais elle n'a pas pu se faire à cause d'une erreur...
Dans l'idéal, je pense plus à un code qui boucle sur tous les fichiers et procède au "enregistrer sous" automatiquement...
Merci
Merci à Lermitte222.
Option Explicit Sub CsvEnXls() Dim fs, F, f1, sf Dim wbk As Workbook, Chemin As String Const ssfTous = &H1 Dim objShell As Object, objFolder As Object, oFolderItem As Object Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", ssfTous) Set oFolderItem = objFolder.Items.Item Chemin = oFolderItem.Path & "\" Set fs = CreateObject("Scripting.FileSystemObject") Set F = fs.GetFolder(Chemin) Set sf = F.Files For Each f1 In sf If LCase(Right(f1.Name, 3)) = "csv" Then Set wbk = Workbooks.Open(Chemin & f1.Name) wbk.SaveAs Left(wbk.Name, Len(wbk.Name) - 4), FileFormat:=xlOpenXMLWorkbook wbk.Close End If Next Set wbk = Nothing Set objShell = Nothing Set objFolder = Nothing Set oFolderItem = Nothing Set fs = Nothing Set F = Nothing Set sf = Nothing End SubMais lorsque je lance, depuis un classeur excel du dossier choisi, la macro contenant le code proposé, l'ensemble des fichiers au format csv s'ouvre puis se referme mais rien n'a changé; est-ce normal?
Merci