Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Transformer une extention de fichier [ Système / Fichier & Disque ] (Konyl)

vendredi 18 janvier 2008 à 14:11:47 | Transformer une extention de fichier

Konyl

Bonjour,

Je cherche le moyen de renomer des fichiers dans un répertoire donné via Excel VB.

Je souhaites ouvrir des .DBF dans excel puis les enregistrer au format .xls.

Le code doit pouvoir ouvrir TOUS les fichiers dans présent dans le répertoire et ayant l'extention .DBF

Pouvez vous m'aider ?

Si oui vous me sauvez

vendredi 18 janvier 2008 à 14:35:44 | Re : Transformer une extention de fichier

Renfield

Administrateur CodeS-SourceS
filename = dir$("*.dbf") do while lenb(filename) ... msgbox filename filename = dir$() loop

vendredi 18 janvier 2008 à 14:43:39 | Re : Transformer une extention de fichier

Konyl

Je suis un boulet, c'est impec pour du renomage en chaine mais en fait je me suis mal exprimé...

Le but est que Excel ouvre le fichier puis le sauvegarde au format .xls.

*******.DBF (par exemple) doit être donc ouvert dans Excel puis suavegarder sous en *******.xls

Pour info il y a plus de 500 fichiers dans le répertoire. L'idéal serait donc de ne pas avoir de limite dans le volume de fichier.

Encore merci pour ton aide.

vendredi 18 janvier 2008 à 15:13:59 | Re : Transformer une extention de fichier

tbbuim1

Tu peux faire un prog qui ouvre tes fichiers dbf avec excel et ensuite ferme Excel en sauvant en .xls puis passer au fichier dbf suivant de ton répertoire.
cherche toutes ses fonctionnalités indépendemment les unes des autres et associes les pour faire ce que tu veux.
-lister des fichiers d'un répertoire
-ouvrir des fichiers avec une api
-fermer excel en sauvant le fichier ouvert
TBBUIM

vendredi 18 janvier 2008 à 15:57:23 | Re : Transformer une extention de fichier

Konyl

Voila donc ce que j'obtient mais ça ne marche pas, je ne sais pas quoi mettre pour qu'il saveas le fichier mais en gardant le même nom (vu le nombre de fichiers je ne peux pas tous les citer, il faudrait que ça marche dans tous les cas)

Sub Laggo()
'Ouvre tous les fichiers .xls dans Ton repertoire
Dim File_Is As String
    File_Is = Dir("C:\Documents and Settings\konyl\Bureau\Test Laggo\*.DBF")
    Wb.SaveAs ActiveWorkbook.SaveAs ------------------
    Wb.Close
'Ici, il faut que tu renseigne le nom du dernier fichier (ordre alphabethique ! sinon ça tourne en boucle !
    Do Until File_Is = ""
       
            
       Workbooks.Open Filename:="C:\Documents and Settings\konyl\Bureau\Test Laggo\" & File_Is
              
       File_Is = Dir
    Loop
End Sub

vendredi 18 janvier 2008 à 16:04:20 | Re : Transformer une extention de fichier

tbbuim1

A mon avis, il faudrait que l'ouverture et la fermeture se fasse fichier par fichier.
De ce fait, tu pourrais récupérer le nom du fichier dbf en cours et pouvoir ainsi le renommer efficacement en .xls
Trouves une autre fonction pour lister tes fichiers
ainsi qu'une api pour ouvrir le fichier dbf
Enfin, une fois que tu as fait ça, tu pourras dire de fermer Excel en sauvant le fichier en tant qu'xls.
La boucle étant là pr passer au fichier suivant et effectuer à nouveau l'opération.
TBBUIM

vendredi 18 janvier 2008 à 16:15:01 | Re : Transformer une extention de fichier

Konyl

Mais Excel est capable d'ouvrir un .DBF

Ce qu'il manque c'est l'enregistrement auto en gardant le nom de l'activeworkbook au moment ou il est ouvert.

ActiveWorkbook.SaveAs (Filename=(wbname),FileFormat:=xlNormal))
ActiveWorkbook.close

vendredi 18 janvier 2008 à 16:17:36 | Re : Transformer une extention de fichier

tbbuim1

Utilises ce genre de fonction pr lister tes fichiers
Ainsi dans le for each tu feras ton action d'ouverture et de fermeture
et le f1.Name t'aideras à récupérer le nom du fichier en cours...

Sub AfficheListeFichier(specdossier)
'Affiche tous les Fichiers du Dossiers specfichiers
Dim fs, f, f1, fc, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(specdossier)
Set fc = f.Files
For Each f1 In fc
s = s & f1.Name
s = s & vbCrLf
Next
If s = "" Then
MsgBox ("Aucuns Fichiers")
Else
MsgBox s
End If

End Sub

TBBUIM


lundi 21 janvier 2008 à 09:03:21 | Re : Transformer une extention de fichier

Konyl

Hello,

Merci pour ta réponse, aussi j'ai construit ça ce week-end.

Mais sur les ligne en rouge (plus bas), il ne trouve pas de fichier a convertir alors que je me trouve dans le bon répertoire.
Une idée ?

    Sub Outil_Laggo()
   
     Application.ScreenUpdating = False

     Application.DisplayAlerts = False

   'LA on conditionne l'ouverture du DIR.
   SearchDir = InputBox("Chemin d'accès des fichiers")
   FileExt = InputBox("Quel type de fichier Mr Laggo ? *.xxx")
   SaveDir = InputBox("Input name of directory to save files to")
   SearchSubs = MsgBox(prompt:="Les sous-dossiers aussi Breakmezz ?", Buttons:=vbYesNo)

   'Initializes the search.
   With Application.FileSearch
       .NewSearch
       .LookIn = SearchDir

   'Determines whether to search subdirectories.
   If SearchSubs = 6 Then
       .SearchSubFolders = True
   Else
       .SearchSubFolders = False
   End If

   'Determines file type to convert.
       .Filename = FileExt
       .MatchTextExactly = True

   'Si la recherche est fructueuse on compte les fichiers traités
       If .Execute > 0 Then
           counter = 0
           For i = 1 To .FoundFiles.Count
               counter = counter + 1
               Workbooks.Open Filename:=.FoundFiles(i)

   'On enregistre au format Excel en utilisant le nom du fichier ouvert
               ActiveWorkbook.SaveAs Filename:=SaveDir & "\" & _
                 Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4), _
                 FileFormat:=xlWorkbookNormal
               ActiveWorkbook.Close savechanges:=False
           Next i

   'Récap des fichier traités
           MsgBox prompt:=counter & " GG Konyl ! Les fichiers ont été convertis"
       ElseIf .Execute = 0 Then
           MsgBox "Pas de fichiers a traiter"
       End If

   End With
   End Sub


lundi 21 janvier 2008 à 09:10:20 | Re : Transformer une extention de fichier

tbbuim1

 Apparemment, il y a une erreur...
.FileName c'est probablement le nom du fichier
Truc.dbf
Et toi tu mets : = FileExt
qui est juste l'extension .dbf
Donc forcément, il ne trouvera aucun fichier de ce nom là...
Faudrait plutôt prendre tous les fichier dont l'extension est égal à FileExt
right(.FileName,3) = FileExt
ceci récupère les 3 dernieres lettres du fichier (donc l'extension) et compare avec l'extension voulu.
TBBUIM


1 2

Cette discussion est classé dans : fichier, répertoire, fichiers, transformer, extention


Répondre à ce message

Sujets en rapport avec ce message

Intercepter l'ouverture d'un fichier ou d'un répertoire [ par MEHDI M. ] Je veux protéger des fichiers et des répertoires en demandant un mot de passe à chaque tentative d'ouverture, de suppression,de déplacement ou de copi ShowFolderList: améliorer la présentation de l'affichage [ par JMO ] Bonjour,Avec ShowFolderList, en listant a partir d'un repertoire les fichiers, je fais apparaitre une fenetre ou figurent (à partir d'un répertoire):N Ouvrir Fichier suivant [ par Geraldine ] Bonjour,Un fichier .xls est ouvert.Quel est la syntaxe, pour ouvir le fichier suivant celui déjà ouvert (sans l'ouvrir avec son nom). Les fichiers son Modifer les dates de plusieurs fichiers [ par Rodrigue ] Bonjour,Il faut que je modifie environ 29000 fichier avec un logiciel, le probleme est qu'il est important que je puisse garder les dates de modificat parcourir fichier [ par dawy3 ] dawy salut!Je souhaite récupérer un à un les noms des fichiers contenus dans un répertoire quelconque. Mon programme etant destiné à imprimer tous les Lecture des fichiers dans un répertoire [ par NuNu ] Bonjour à tous,ça fait longtemps que je ne suis pas venue; je faisais totalement autre chose.Aujourd'hui j'ai un tout petit programme à réaliser en vb Supprimer des fichiers dans un répertoire [ par thenonos ] Bonjour, dans le cadre de projet dans mon école, je dois créer un programme permettant de supprimer des fichiers dans un répertoire.Je dois utiliser u automatisation macro [ par fredo35m ] Bonjour,j'ai plusieurs fichiers dans un même répertoire et je souhaite pouvoir effectué la même manipulation sur l'ensemble des fichiers de ce réperto Preview de fichier [ par benoit_epfl ] Bonjour,Je recherche une solution pour afficher l'image visible dans l'explorateur de fichier lorsque l'on est en mode d'affichage "Miniatures".Pour s RowSource et fichiers Excel [ par simplementyann ] Bonjour, Je cherche à alimenter le combo du formulaire d'un fichier excel A  avec les données situées dans un fichier B ? La


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.