A voir également:
- Changer l'extension d'un fichier sous VBA
- Changer dns - Guide
- Changer extension fichier - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
8 réponses
changer l'extension d'un fichier sous VBA :
il faut utiliser faire : name fichier.txt fichier.xls
mais dans ton cas j'ai des doutes...
Je ne connais pas vraiment VBA alors je patoge pas mal.
Explique ce que tu veux faire ce sera plus simple.
j'ai l'impression que la methode enregistrer Sous... serait plus proche de ton besoin.
A+
il faut utiliser faire : name fichier.txt fichier.xls
mais dans ton cas j'ai des doutes...
Je ne connais pas vraiment VBA alors je patoge pas mal.
Explique ce que tu veux faire ce sera plus simple.
j'ai l'impression que la methode enregistrer Sous... serait plus proche de ton besoin.
A+
Merci déjà pour ta réponse si rapide, je vais essayer d'expliquer un peu mieux ce que j'essai de faire.
Enfaite, j'ai plusieurs dossier qui on comme nom des dates mais ces dossiers ont toujours la même arborescence. dans chacun de ces dossier j'ai deux sous répertoires: Données brutes et Données Excel. dans le dossier données brutes j'ai un ensemble de fichier text et ce que je voudrais c'est ré enregistrer ces fichiers au format .xls dans le deuxième dossier appelée Données Excel
Enfaite, j'ai plusieurs dossier qui on comme nom des dates mais ces dossiers ont toujours la même arborescence. dans chacun de ces dossier j'ai deux sous répertoires: Données brutes et Données Excel. dans le dossier données brutes j'ai un ensemble de fichier text et ce que je voudrais c'est ré enregistrer ces fichiers au format .xls dans le deuxième dossier appelée Données Excel
donc ce qu'il te faut c'est utiliser une conversion des données TXT vers XLS puis enregistrez le fichier excel dans le bon dossier.
As-tu écris quelque chose pour la conversion des données?
Ne sachant pas comment sont ordonnées les données en texte ... difficile!
peux-tu donner un exemple sur ci-joint .fr ( pas de données confidentielles ou personnelles)
As-tu écris quelque chose pour la conversion des données?
Ne sachant pas comment sont ordonnées les données en texte ... difficile!
peux-tu donner un exemple sur ci-joint .fr ( pas de données confidentielles ou personnelles)
pour t'avancer dans ta demarche
executes ce code.
il t'ouvre la boite de dialogue "fichier ouvrir" puis tu selectionnes le fichier Texte
il l'ouvres comme si le fichier était bien formaté ( à voir)
puis il l'enregistre dans le sousdossier \Données Excel ..
le résultat est un fichier xls...
executes ce code.
il t'ouvre la boite de dialogue "fichier ouvrir" puis tu selectionnes le fichier Texte
il l'ouvres comme si le fichier était bien formaté ( à voir)
puis il l'enregistre dans le sousdossier \Données Excel ..
le résultat est un fichier xls...
Sub Convertit_en_xls() Dim Chemin As String Dim Fichier As String Dim LeNom As String Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt") Workbooks.OpenText (Fichier) While Right(Fichier, 1) <> "\" LeNom = Right(Fichier, 1) & LeNom Fichier = Left(Fichier, Len(Fichier) - 1) Wend CheminSource = Left(Fichier, Len(Fichier) - 1) While Right(CheminSource, 1) <> "\" CheminSource = Left(CheminSource, Len(CheminSource) - 1) Wend Chemin = CheminSource & "Données Excel\" LeNom = Left(LeNom, Len(LeNom) - 3) & "xls" ' le nom avec xls ActiveWorkbook.SaveAs Chemin & LeNom ActiveWorkbook.Close End Sub
hua super, merci ça l'enregistre dans le bon dossier, maintenant faut juste voir pour qu'il l'ouvre automatiquement et faire une boucle de façon a ce qu'il fasse de même pour tout les fichier texte du dossier. Pour l'ouvrir et faire la boucle je devrais réussir a m'en sortir mais au cas ou je reposerais sur ce forum par contre, quand le fichier se ré enregistre il demande de confirmer que je veux bien enregistrer les modification, il y aurait il un moyen de désactiver cette alerte?
Merci beaucoup pour ton aide précieuse.
Merci beaucoup pour ton aide précieuse.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je n'ai pas eu d'erreur mais vérifie quand même...
A+
A+
Public TabloFichier() As String Sub Convertit_en_xls() Dim Chemin As String Dim SavChemin As String Dim CheminSource As String Dim Fichier As String Dim LeNom As String Dim j As Integer Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt") While Right(Fichier, 1) <> "\" LeNom = Right(Fichier, 1) & LeNom Fichier = Left(Fichier, Len(Fichier) - 1) Wend CheminSource = Left(Fichier, Len(Fichier) - 1) SavChemin = CheminSource & "\" creerListeFichier (Fichier) ' un tableau qui contient tous les noms de fichier TXT While Right(CheminSource, 1) <> "\" CheminSource = Left(CheminSource, Len(CheminSource) - 1) Wend Chemin = CheminSource & "Données Excel\" ' le dossier d'enregistrement ' on boucle sur le tableau For j = 0 To UBound(TabloFichier) LeNom = TabloFichier(j) Fichier = SavChemin & LeNom Workbooks.OpenText (Fichier) LeNom = Left(LeNom, Len(LeNom) - 3) & "xls" ' le nom avec xls ActiveWorkbook.SaveAs Chemin & LeNom ActiveWorkbook.Close Next j End Sub Public Sub creerListeFichier(specdossier) Dim fso, oDossier, oFichier, sFichier Dim I As Integer Dim s As String Set fso = CreateObject("Scripting.FileSystemObject") Set oDossier = fso.getfolder(specdossier) Set oFichier = oDossier.Files For Each sFichier In oFichier If Right(sFichier.Name, 3) <> "txt" Then ' ce n'est pas un fichier txt Else ReDim Preserve TabloFichier(I) TabloFichier(I) = sFichier.Name I = I + 1 End If Next End Sub
Merci pour se nouveau code, je ne l'ai pas encore essayer, je te dis tout de suite s'il marche, j'étais en train de modifier de trois bricole sur l'ancien car enfaite, le fichier s'ouvrait bien mais j'avais un message d'erreur sur l'extension et j'ai aussi supprimer les message d'alerte ça donnais ça (je renvoie que la fin, le début est le même)
ActiveWorkbook.SaveAs Filename:=Chemin & LeNom, FileFormat:=xlNormal
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Encore un grand merci pour ton aide,
ActiveWorkbook.SaveAs Filename:=Chemin & LeNom, FileFormat:=xlNormal
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
Encore un grand merci pour ton aide,