Modifier l'extraction d'un fichier par VBA

Résolu
Signaler
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
-
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
-
bonjour @ tous,

voila j'ai un formulaire sous access avec un bouton dont j'aimerais
qu'il exécute le changement d'extraction de fichier c'est à dire que je
souhaiterait qu'en appuyant sur mon bouton l'extraction d'un fichier
change,par exemple :

toto.Lso devienne toto.txt

donc tout d'abord es-ce possible??

si oui, quel commande permet-il de faire cela??


merci d'avance pour votre aide!!

33 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
ben tu peux le renommer après coup...

Name "...\toto.lso" As "...\toto.txt"

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
comment ca aprés coup??

merci pour ton aide!!
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Et pas extraction mais extension !

@++

(
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
oui, je sait, on vient de me le dire
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
    If Dir("X:\Comptes Utilisateurs\stagebeluc\Loïc\ipms_icxs_pves_epms_iens_fab_naz.ls0") = "ipms_icxs_pves_epms_iens_fab_naz.ls0" Then
        FileCopy "X:\Comptes Utilisateurs\stagebeluc\Loïc\ipms_icxs_pves_epms_iens_fab_naz.ls0", "X:\Comptes     Utilisateurs\stagebeluc\Loïc\ipms_icxs_pves_epms_iens_fab_naz.txt"
     End If

voila j'ai réussi à l'effectuer mais je voudrais pouvoir le faire pour plusieurs fichiers, es-ce possible ou suis-je à chaque fois obligé de mettre le IF??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Si tout les fichiers à renommer sont au même endroit, fait une boucle sur tout les fichiers du répertoire.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
donc jrivet, tu dit que je devrais faire :
Tant qu'il y a des fichies .ls0 dans dossier alors copier puis modifier le noms sinon rien faire.
C ca??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
BAh si c'est que tu souhaites faire oui, alors c'est ce que je dis.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
ben oué mais non, jvien de réfléchir et je me dis que je peux pas car la boucle n'arrétera pas de tourner vu que je n'efface pas les fichiers d'extension  .ls0
T pas d'accord?? donc je vois pas comment faire!!
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
N'oublie pas que FileCopy fait simplement une copie du fichier sous un autre nom.
Name,comme te suggère Renfield, renomme le fichier, dons le ls0 n'existe plus.

À toi donc de définir si tu veux conserver les fichiers ls0 ou non ...

MPi
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
mais as tu réellement besoin de garder les .ls0
Si tu n'as pas besoin de les garder, fais une boucle comme je te le propose et utilises Name Source As Destination comme te le propose [auteurdetail.aspx?ID=2359 Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
ben MPI merci de ton information, mais je crois que mon maitre de stage préfére garder les fichier .ls0!!
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Ah désolé post croisé avec
[auteurdetail.aspx?ID=6078 MPi]
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
ben jrivet, ca serait pour moi, je les effacerait mais bon c'est pour mon maitre de stage donc jpréfére lui les laisser car je vois que les anciens fichiers comme cela il les a gardé!!
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Essaie ceci
'Exemple d'appel
'=> ATTENTION LE CHEMIN DOIT SE TERMINE PAR "\"
Call CopyAllLs0("C:\Test\")

Private Sub CopyAllLs0(ByVal Rep As String)
'Ajoute comme référence Microsoft Scripting Runtime
Dim Fso As New FileSystemObject
Dim Fi As File
Dim NomFile As String
   
   For Each Fi In Fso.GetFolder(Rep).Files
       If UCase(Fso.GetExtensionName(Fi.Name)) = "LS0" Then
           NomFile = Mid(Fi.Name, 1, InStrRev(Fi.Name, "."))
           'Copie le fichier True = Ecrase si exsite
           Call Fi.Copy(Rep & NomFile & "txt", True)
       End If
   Next
   Set Fso = Nothing
   Set Fi = Nothing
   

End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
merci pour ton code jrivet, mais il fait quoi exactement??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Ah ben a ton avis?

POur chaque fichier contenu dans Rep, il regarde si l'extension du fichier est ls0 si c'est ls0 il extrait le nom du fichier et copie le fichier en mettant .txt au lieu de ls0

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
mais il laisse les fichier ls0??
mais le truc C ke si on garde les fichier ls0 ola boucle continuera,nn??
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Oui il garde les fichiers ls0 et NON la boucle ne continuera pas.

Mais tu sais le mieux reste encore de le tester tu ne penses pas?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
C vré mais je voulais déja le comprendre avant de le tester, C mieu, tu pense po??!!LOL.