OVH Cloud OVH Cloud

Pb de modification extention

22 réponses
Avatar
Romain
Bonjour je souhaiterai modifier l'extention de certain=20
fichier tout en conservant leur nom pour cela j'ai le code:

Private Sub Commande67_Click()
Dim Nom, NewNom, B
Dim A, i As Integer
Nom =3D "*.log"
NewNom =3D "P:\Methodes\Stagiaires\Romain S\Log\*.txt"
With Application.FileSearch
.NewSearch
.LookIn =3D "P:\Methodes\Stagiaires\Romain S\Log"
.FileName =3D Nom
If .Execute() > 0 Then
For A =3D 1 To .FoundFiles.Count
B =3D .FoundFiles(A)
Name B As NewNom
Next A
End If
End With
End Sub

Le probl=E8me =E9tant qu'il y a unique ment un fichier qui se=20
retrouvent modifier si je remplace "*.txt" par "A.txt" A=20
variant de 1 au nbre de fichier trouv=E9s car le fichier=20
cr=E9=E9 sera A.txt hors je souhaiterai que tous les fichiers=20
trouv=E9s soient modifi=E9s tout en gardant leur nom par=20
exemple le groupe :

20092003.log > < 20092003.txt
21092003.log > Devient < 21092003.txt
22092003.log > < 22092003.txt

Merci d'avance.

10 réponses

1 2 3
Avatar
Raymond
Bonjour Romain.

ça avance ?

tu peux faire ça:

B = .FoundFiles(A)
NewNom = Replace(B, ".log", ".txt")
Name B As NewNom

ou

B = .FoundFiles(A)
Name B As Replace(.FoundFiles(A), ".log", ".txt")



--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message de
news:1aa101c38335$6acbc3b0$
Bonjour je souhaiterai modifier l'extention de certain
fichier tout en conservant leur nom pour cela j'ai le code:

Private Sub Commande67_Click()
Dim Nom, NewNom, B
Dim A, i As Integer
Nom = "*.log"
NewNom = "P:MethodesStagiairesRomain SLog*.txt"
With Application.FileSearch
.NewSearch
.LookIn = "P:MethodesStagiairesRomain SLog"
.FileName = Nom
If .Execute() > 0 Then
For A = 1 To .FoundFiles.Count
B = .FoundFiles(A)
Name B As NewNom
Next A
End If
End With
End Sub

Le problème étant qu'il y a unique ment un fichier qui se
retrouvent modifier si je remplace "*.txt" par "A.txt" A
variant de 1 au nbre de fichier trouvés car le fichier
créé sera A.txt hors je souhaiterai que tous les fichiers
trouvés soient modifiés tout en gardant leur nom par
exemple le groupe :

20092003.log > < 20092003.txt
21092003.log > Devient < 21092003.txt
22092003.log > < 22092003.txt

Merci d'avance.
Avatar
Romain
Bonjour Raymond,

Disons que ça avance doucement mais surement je réussit à
modifier les extentions des fichiers mais le seule
problème c sur l'importation le code trouve tous les
fichiers mais ils ne les importe tjs pas pourtant je n'est
plus aucune erreur.
-----Message d'origine-----
Bonjour Romain.

ça avance ?

tu peux faire ça:

B = .FoundFiles(A)
NewNom = Replace(B, ".log", ".txt")
Name B As NewNom

ou

B = .FoundFiles(A)
Name B As Replace(.FoundFiles(A), ".log", ".txt")



--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message
de

news:1aa101c38335$6acbc3b0$
Bonjour je souhaiterai modifier l'extention de certain
fichier tout en conservant leur nom pour cela j'ai le
code:


Private Sub Commande67_Click()
Dim Nom, NewNom, B
Dim A, i As Integer
Nom = "*.log"
NewNom = "P:MethodesStagiairesRomain SLog*.txt"
With Application.FileSearch
.NewSearch
.LookIn = "P:MethodesStagiairesRomain SLog"
.FileName = Nom
If .Execute() > 0 Then
For A = 1 To .FoundFiles.Count
B = .FoundFiles(A)
Name B As NewNom
Next A
End If
End With
End Sub

Le problème étant qu'il y a unique ment un fichier qui se
retrouvent modifier si je remplace "*.txt" par "A.txt" A
variant de 1 au nbre de fichier trouvés car le fichier
créé sera A.txt hors je souhaiterai que tous les fichiers
trouvés soient modifiés tout en gardant leur nom par
exemple le groupe :

20092003.log > < 20092003.txt
21092003.log > Devient < 21092003.txt
22092003.log > < 22092003.txt

Merci d'avance.

.



Avatar
Raymond
Si tu as bien les fichiers, le seul problème est sur le docmd.transfer.....

ça va venir, sinon reviens ici on va essayer de donner un coup de pouce.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message de
news:080d01c3833d$2902f810$
Bonjour Raymond,

Disons que ça avance doucement mais surement je réussit à
modifier les extentions des fichiers mais le seule
problème c sur l'importation le code trouve tous les
fichiers mais ils ne les importe tjs pas pourtant je n'est
plus aucune erreur.
Avatar
Philippe Pham Minh
Bonjour,

Tu peux aussi essayer le code suivant:

Dim NomFichier As String, Chemin As String
NomFichier = Dir("P:MethodesStagiairesRomain SLog*.log")
Chemin = "P:MethodesStagiairesRomain SLog" & NomFichier
Do Until NomFichier = ""
'Renommer les fichiers .log en .txt
Name Chemin As Chemin & ".txt"
NomFichier = Dir("P:MethodesStagiairesRomain SLog*.log")
Chemin = "P:MethodesStagiairesRomain SLog" & NomFichier
Loop

Philippe

"Romain" a écrit dans le message de
news:1aa101c38335$6acbc3b0$
Bonjour je souhaiterai modifier l'extention de certain
fichier tout en conservant leur nom pour cela j'ai le code:

Private Sub Commande67_Click()
Dim Nom, NewNom, B
Dim A, i As Integer
Nom = "*.log"
NewNom = "P:MethodesStagiairesRomain SLog*.txt"
With Application.FileSearch
.NewSearch
.LookIn = "P:MethodesStagiairesRomain SLog"
.FileName = Nom
If .Execute() > 0 Then
For A = 1 To .FoundFiles.Count
B = .FoundFiles(A)
Name B As NewNom
Next A
End If
End With
End Sub

Le problème étant qu'il y a unique ment un fichier qui se
retrouvent modifier si je remplace "*.txt" par "A.txt" A
variant de 1 au nbre de fichier trouvés car le fichier
créé sera A.txt hors je souhaiterai que tous les fichiers
trouvés soient modifiés tout en gardant leur nom par
exemple le groupe :

20092003.log > < 20092003.txt
21092003.log > Devient < 21092003.txt
22092003.log > < 22092003.txt

Merci d'avance.
Avatar
Raymond
Le filesearch non plus n'est pas reconnu par 97 , prends le dir comme je te
l'avais indiqué la dernière fois et applique la solution de Philippe.
Si les champs ne sont pas reconnus tu devrais avoir une erreur.


[HS] ton message vient juste de s'afficher sur OE: 11:15 départ 10:44 vive
internet.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message de
news:208901c38341$2cde1290$
Ok merci sinon pour la solution d'avant le replace n'est
pas définit il n'est pas reconnu par access97.

Pour ce qui est du DoCmd g la ligne suivante :

F= .FoundFiles(I)
DoCmd.TransfertText acImportDelim, "table1", F, False

Par contre la question que je me pose c'est est-ce que le
code reconnait les séparations entre les champs car le
fichiers texte que j'essaie d'importer ressemble à cela :

20/09/2003;20:01:54;J40;Suspicion casse fil Av1
20/09/2003;20:15:37;J44;Arrêt ligne
20/09/2003;......
Avatar
Romain
C'est ce que g fait g appliquer la solution de phillippe g
donc bien mais fichier qui sont transformer en fichier
text mais il y a encore une erreur d'execution le code est
pour le moment :

Private Sub Commande65_Click()
Dim NomFichier As String
Dim NomChemin As String
NomFichier = Dir("P:MethodesStagiairesRomain
SLog*.txt")
NomChemin = "P:MethodesStagiairesRomain SLog" &
NomFichier
Do Until NomFichier = ""
DoCmd.TransfertText acImportDelim, acFormatTXT, "Table1",
NomChemin, False
Loop
End Sub


-----Message d'origine-----
Le filesearch non plus n'est pas reconnu par 97 , prends
le dir comme je te

l'avais indiqué la dernière fois et applique la solution
de Philippe.

Si les champs ne sont pas reconnus tu devrais avoir une
erreur.



[HS] ton message vient juste de s'afficher sur OE: 11:15
départ 10:44 vive

internet.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message
de

news:208901c38341$2cde1290$
Ok merci sinon pour la solution d'avant le replace n'est
pas définit il n'est pas reconnu par access97.

Pour ce qui est du DoCmd g la ligne suivante :

F= .FoundFiles(I)
DoCmd.TransfertText acImportDelim, "table1", F, False

Par contre la question que je me pose c'est est-ce que le
code reconnait les séparations entre les champs car le
fichiers texte que j'essaie d'importer ressemble à cela :

20/09/2003;20:01:54;J40;Suspicion casse fil Av1
20/09/2003;20:15:37;J44;Arrêt ligne
20/09/2003;......


.



Avatar
Raymond
Il te manque un dir dans ta boucle.

regarde bien la fonction de philippe et mets bien ce qu'il manque. le dir
est différent du filesearch.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message de
news:22bb01c3834c$2008d9f0$
C'est ce que g fait g appliquer la solution de phillippe g
donc bien mais fichier qui sont transformer en fichier
text mais il y a encore une erreur d'execution le code est
pour le moment :
Avatar
romain
J'ai vu où le dir manquait mais g encore une erreur
d'execution le code est :

Private Sub Commande65_Click()
Dim NomFichier As String
Dim NomChemin As String
NomFichier = Dir("P:MethodesStagiairesRomain
SLog*.txt")
NomChemin = "P:MethodesStagiairesRomain SLog" &
NomFichier
Do Until NomFichier = ""
DoCmd.TransfertText acImportDelim, acFormatTXT, "Table1",
NomChemin, False
NomFichier = Dir("P:MethodesStagiairesRomain
SLog*.txt")
NomChemin = "P:MethodesStagiairesRomain SLog" &
NomFichier
Loop
End Sub

Et c'est tjs au niveau de la ligne DoCmd.Transe.... Qu'il
y a une erreur c le point qui bloque.


-----Message d'origine-----
Il te manque un dir dans ta boucle.

regarde bien la fonction de philippe et mets bien ce
qu'il manque. le dir

est différent du filesearch.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message
de

news:22bb01c3834c$2008d9f0$
C'est ce que g fait g appliquer la solution de phillippe g
donc bien mais fichier qui sont transformer en fichier
text mais il y a encore une erreur d'execution le code est
pour le moment :


.



Avatar
Raymond
il faut qu'on y arrive

le fichier de spécification ne peut pas s'appeler acFormatTXT qui est un mot
réservé. renomme-le.

sinon après,
place un msgbox ici pour vérifier le nom du fichier et si tu passes bien sur
tous les fichiers.

msgbox NomChemin
DoCmd.TransfertText acImportDelim, Nomspecif, "Table1",
NomChemin, False

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"romain" a écrit dans le message de
news:252f01c3835b$9e105940$
J'ai vu où le dir manquait mais g encore une erreur
d'execution le code est :

Private Sub Commande65_Click()
Dim NomFichier As String
Dim NomChemin As String
NomFichier = Dir("P:MethodesStagiairesRomain
SLog*.txt")
NomChemin = "P:MethodesStagiairesRomain SLog" &
NomFichier
Do Until NomFichier = ""
DoCmd.TransfertText acImportDelim, acFormatTXT, "Table1",
NomChemin, False
NomFichier = Dir("P:MethodesStagiairesRomain
SLog*.txt")
NomChemin = "P:MethodesStagiairesRomain SLog" &
NomFichier
Loop
End Sub

Et c'est tjs au niveau de la ligne DoCmd.Transe.... Qu'il
y a une erreur c le point qui bloque.
Avatar
Raymond
je comprend mieux que ça ne marche pas.

C'est le fichier qui va indiquer à access quelle est la structure du fichier
texte.
pour créer un fichier il faut faire un import manuel et sur la dernière
fenêtre avant de cliquer sur terminer, tu cliques sur le bouton avancé et la
structure sera affichée. tu peux la modifier et tu sauvegardes cette
structure en indiquant un nom. C'est ce nom qu'il faut indiquer dans le
paramètre du transfert.
Il faut surtout l'utiliser si la première ligne ne contient pas les noms des
champs ou si tu es en longueur fixe. Mais dans tous les cas ce fichier
permet de mieux contrôler ton import.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Romain" a écrit dans le message de
news:107b101c3836a$b6a933a0$
Quand je met le msg box il m'affiche bien le nom du
fichier mais le problème c 'est le fichier de
spécification peux tu m'expliquer ce que c'est ? et as-tu
une idée de ce que je dois mettre ?
1 2 3