Ouvrir fichiers ".dat" avec noms inconnus

Legolas

XLDnaute Occasionnel
Bonjour le fofo,

Après quelques recherches, je n'ai pas réussi à trouver une solution adéquate pour mon problème...

Je vous explique : dans un dossier j'ai environ 300 fichiers ".dat" dont je ne connais pas les noms exacts.
Je dois changer l'extension en ".xls" et je ne souhaite pas le faire à la main (car l'opération risque de se reproduire)

Ce que je souhaite, c'est une macro "automatique" (sans passer par la boite de dialogue d'ouverture de fichier) qui :
- ouvre le fichier
- sauvegarde sous et change l'extension
- referme le (les?) fichiers
- passe au fichier suivant du dossier

Avez vous une solution à me proposer ?

Pour l'exemple :
Chemin_Dossier = C:\Dossier_test
Il y a 3 fichiers : test1.dat, test2.dat, test3.dat

Merci d'avance pour vos réponses.

Legolas
 

francedemo

XLDnaute Occasionnel
Re : Ouvrir fichiers ".dat" avec noms inconnus

bonjour,
à tester (et adapter)
Code:
sub Modif()

Chemin = "..."   'indiquer le chemin complet
'Premier fichier
Fichier = Dir(Chemin & "*.dat")
Do While Fichier <> ""
    Application.DisplayAlerts = False
    Application.EnableEvents = False
    Application.EnableEvents = False
    Workbooks.Open FileName:=Chemin & Fichier
    NomEnregistrement = Left(Fichier, Len(Fichier) - 4) & ".xls"
    Workbook(Fichier).SaveAs _
        FileName:=NomEnregistrement, _
        FileFormat:=xlExcel8
    Fichier = Dir
Loop

Application.DisplayAlerts = True
Application.EnableEvents = True
Application.EnableEvents = True

End Sub

à +
 

job75

XLDnaute Barbatruc
Re : Ouvrir fichiers ".dat" avec noms inconnus

Bonjour Legolas, francedemo,

Il n'est pas du tout certain qu'Excel puisse ouvrir vos fichiers .dat.

Mais s'il peut les ouvrir exécutez cette macro :

Code:
Sub FichiersDat()
Dim chemin$, fichier$
chemin = "C:\Dossier_test\" 'chemin à adapter
fichier = Dir(chemin & "*.dat") '1er fichier du dossier
Application.ScreenUpdating = False
Application.DisplayAlerts = False
While fichier <> ""
  With Workbooks.Open(chemin & fichier)
    .SaveAs chemin & Left(fichier, Len(fichier) - 4), xlNormal 'extension supprimée
    .Close 'ferme le fichier
  End With
  fichier = Dir 'fichier suivant du dossier
Wend
End Sub
En fait c'est juste une variante de la macro de francedemo.

A+
 
Dernière édition:

Legolas

XLDnaute Occasionnel
Re : Ouvrir fichiers ".dat" avec noms inconnus

J'ai testé ton code job75 et pris celui-ci (il ferme le fichier une fois la conversion faite).
Il répond parfaitement à mon besoin.

Merci à tous les 2 de vous être penchés sur mon problème.
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 357
Membres
103 826
dernier inscrit
Normand.guillaume@orange.