Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…