convertir .dat en .xls

seb2

XLDnaute Nouveau
Bonjour à tous,

J'ai des dizaines de fichiers en . dat à convertir en .xls regulierement (excel 2007).
Ces fichiers sont dans un dossier (le dossier est different à chaque fois). Je cherche un macro qui convertit tous les fichiers .dat en .xls.
Je joint un exemple. L'idée serait de coller le fichier de macro dans le dossier et que la macro remplace l'extension .dat en .xls
J'ai regardé sur la forum mais je n'ai pas trouvé ce qu'il me faut.
Pouvez vous m'aider
Merci d'avance
Seb2
 

Pièces jointes

  • conv dat.zip
    19.8 KB · Affichages: 772

tototiti2008

XLDnaute Barbatruc
Re : convertir .dat en .xls

Bonjour seb2, Bonjour choupi_nette,

Convertir et renommer sont 2 choses différentes
Convertir au format xls, sous-entend : Ouvrir le fichier .dat dans Excel, le convertir éventuellement (avec l'assistant qui s'affiche à l'ouverture du fichier), puis une fois la conversion terminée l'enregistrer au format .xls
Renommer change l'extension sans se préoccuper du fait que le format des fichiers .dat n'est peut-être pas compatible avec excel
Il faut convertir ou renommer ?
 

MJ13

XLDnaute Barbatruc
Re : convertir .dat en .xls

Bonjour Seb, Choupinette, Tototiti

Le mieux serait de faire un filecopy dans un autre dossier. Ainsi, tu ne perds pas tes fichiers qui seront copier à un autre endroit.

exemple:

Code:
Source = Cells(ActiveCell.Row, 27) & "\" & Cells(ActiveCell.Row, 28)
Destination = ActiveCell.Text
FileCopy Source, Destination
 

seb2

XLDnaute Nouveau
Re : convertir .dat en .xls

Re bonjour,

Enfaite j'ai besoin de renommer le fichier (car une fois renommé excel est capable de l'ouvrir correctement.)
Et comme j'ai regulieremnt une dizaine de fichiers à renommer, c'est pour ça que je cherche une marco qui me renomme mes fichiers (en coller le fichier de la macro dans le dossier des fichier en .dat.

Merci pour votre aide
Seb2
 

seb2

XLDnaute Nouveau
Re : convertir .dat en .xls

Re

Trouve déjà une macro sur le net ou sur le forum qui te fait la liste de tes fichiers sur une feuille et ensuite ce ne sera pas bien compliqué :).

Voici ce que j'ai trouvé sur le forum :
La macro liste les fichiers
comment je les renommes ?
Merci

Sub test()
Dim Dossier As String
Dossier = ActiveWorkbook.Path
ListFilesInFolder Dossier, True
End Sub

Sub ListFilesInFolder(strFolderName As String, bIncludeSubfolders As Boolean)
' necessite d'activer la reference Microsoft Scripting RunTime
Static FSO As FileSystemObject
Dim oSourceFolder As Scripting.Folder
Dim oSubFolder As Scripting.Folder
Dim oFile As Scripting.File
Static wksDest As Worksheet
Static iRow As Long
Static bNotFirstTime As Boolean
If Not bNotFirstTime Then
Set wksDest = ActiveSheet
Set FSO = CreateObject("Scripting.FileSystemObject")
iRow = 3
bNotFirstTime = True
End If
Set oSourceFolder = FSO.GetFolder(strFolderName)
For Each oFile In oSourceFolder.Files
wksDest.Cells(iRow, 1) = oFile.ParentFolder.Path
wksDest.Cells(iRow, 2) = oFile.Name
iRow = iRow + 1
Next oFile
If bIncludeSubfolders Then
For Each oSubFolder In oSourceFolder.SubFolders
ListFilesInFolder oSubFolder.Path, True
Next oSubFolder
End If
End Sub
 

MJ13

XLDnaute Barbatruc
Re : convertir .dat en .xls

Re

En imaginant que le chemin de destination soit en B1 (ex : C:\Temp).
Une fois ta liste générée sur la feuille avec ta macro précédente, tu sélectionnes les noms de fichiers et tu lances cette macro. Ensuite, tu vérifies dans C:\temp si tes fichiers ont été renommés et que tu peux les ouvrir avec Excel.

Code:
Sub Renomme_Cell_Dat_Xls()
For Each Cell In Selection
Source = Cells(Cell.Row, 1) & "\" & Cells(Cell.Row, 2)
'NomF = Mid(Cell, 1, (Len(Cell) - 3)): msgbox NomF
Destination = Cells(1, 2) & "\" & Mid(Cell, 1, (Len(Cell) - 3)) & "xls" 'Cell.Text
FileCopy Source, Destination
Next
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : convertir .dat en .xls

Bonjour à tous

Pour info:
Tes fichiers dat semblent être déjà des fichier Excel dont l'extension *.xls a été changer en *.dat
0test.jpg0test.jpg

Dans ce cas, cette simple ligne de commande msdos peut suffire
ren *.dat *.xls
ou celle-ci
copy /B *.dat *.xls
 

seb2

XLDnaute Nouveau
Re : convertir .dat en .xls

Bonjour à tous,

Merci pour votre aide. Voici le fichier avec les 2 macros qui liste les fichiers et les renomme. La 1er macro (qui liste les fichiers) a été trouvé sur ce forum. J'ai juste combiné les 2 macros pour quelles fonctionnent ensemble.
Les 2 macros peuvent être améliorées, car il faut selectionner les fichiers avant de lancer la 2ieme macro mais ça marche.

Ci-joint le fichier :


Merci à tous

Seb2
 

Pièces jointes

  • Lister et renommer fichiersMacro.xlsm
    22.7 KB · Affichages: 323

Discussions similaires

Réponses
2
Affichages
274

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz