OVH Cloud OVH Cloud

Pb importation de fichier et modification d'extention

9 réponses
Avatar
Romain
Salut je cherche un moyen de cr=E9er une macro sous access=20
voir excel qui me permettrai d'importer automatiquement=20
un groupe de fichier dans une table donn=E9es d'access et=20
qui de plus modifierai l'extention de ceux-ci .LOG -> .txt

Merci d'avance,

9 réponses

Avatar
Raymond
Bonjour.

Tu es contre le vba ? ce serait plus facile à mon avis.
les fichiers sont-ils tous dans le même répertoire ?
tous les fichiers sont fusionnés dans la même table ?

dans le principe:
boucler sur le nombre de fichiers:
filesearch pour récupérer les noms de fichiers
TransferText
--
@+
Raymond Access MVP.
http://access.seneque.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:029901c37e7d$29584b90$
Salut je cherche un moyen de créer une macro sous access
voir excel qui me permettrai d'importer automatiquement
un groupe de fichier dans une table données d'access et
qui de plus modifierai l'extention de ceux-ci .LOG -> .txt

Merci d'avance,
Avatar
romain
Je te remercie pour l'aide je vais essayer pour ce qui est
du vba je ne suis pas contre mais je ne connais pas alors
c'est pour cela que je voulais passer par les macros sinon
pour ce qui est des fichiers il s'agit de fichier ayant
pour nom la date du jour par ex 10102002.log et ils se
trouvent tous dans un seul et même répertoire et
fusionnent bien dans la même table.
-----Message d'origine-----
Bonjour.

Tu es contre le vba ? ce serait plus facile à mon avis.
les fichiers sont-ils tous dans le même répertoire ?
tous les fichiers sont fusionnés dans la même table ?

dans le principe:
boucler sur le nombre de fichiers:
filesearch pour récupérer les noms de fichiers
TransferText
--
@+
Raymond Access MVP.
http://access.seneque.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:029901c37e7d$29584b90$
Salut je cherche un moyen de créer une macro sous access
voir excel qui me permettrai d'importer automatiquement
un groupe de fichier dans une table données d'access et
qui de plus modifierai l'extention de ceux-ci .LOG -> .txt

Merci d'avance,

.



Avatar
Raymond
RE.

essaie de placer ce code dans un formulaire sur lequel se trouve un bouton
nommé Commande0, ça devrait fonctionner:
' ajuster les noms de données avec tes noms à toi.

Private Sub Commande0_Click()
Chercher "c:", "*.log", False
End Sub

Private Sub Chercher(NomDuChemin As String, NomDuFichier As String,
Sous_répertoires As Boolean)
On Error Resume Next
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9,
"Table1", .FoundFiles(I), True
Next I
End If
End With
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.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:a42701c380db$5b9fd360$
Je te remercie pour l'aide je vais essayer pour ce qui est
du vba je ne suis pas contre mais je ne connais pas alors
c'est pour cela que je voulais passer par les macros sinon
pour ce qui est des fichiers il s'agit de fichier ayant
pour nom la date du jour par ex 10102002.log et ils se
trouvent tous dans un seul et même répertoire et
fusionnent bien dans la même table.
-----Message d'origine-----
Bonjour.

Tu es contre le vba ? ce serait plus facile à mon avis.
les fichiers sont-ils tous dans le même répertoire ?
tous les fichiers sont fusionnés dans la même table ?

dans le principe:
boucler sur le nombre de fichiers:
filesearch pour récupérer les noms de fichiers
TransferText
--
@+
Raymond Access MVP.
http://access.seneque.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:029901c37e7d$29584b90$
Salut je cherche un moyen de créer une macro sous access
voir excel qui me permettrai d'importer automatiquement
un groupe de fichier dans une table données d'access et
qui de plus modifierai l'extention de ceux-ci .LOG -> .txt

Merci d'avance,

.



Avatar
Romain
Salut merci pour le code vba mais j'ai encore un problème
le terme acSpreadsheetTypeExcel9 n'est pas reconnu je peux
donc pas executer le formulaire.
Merci pour l'aide

-----Message d'origine-----
RE.

essaie de placer ce code dans un formulaire sur lequel se
trouve un bouton

nommé Commande0, ça devrait fonctionner:
' ajuster les noms de données avec tes noms à toi.

Private Sub Commande0_Click()
Chercher "c:", "*.log", False
End Sub

Private Sub Chercher(NomDuChemin As String, NomDuFichier
As String,

Sous_répertoires As Boolean)
On Error Resume Next
Dim I As Integer
With FileSearch
.NewSearch
.LookIn = NomDuChemin
.FileName = NomDuFichier
.SearchSubFolders = Sous_répertoires
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransferSpreadsheet acImport,
acSpreadsheetTypeExcel9,

"Table1", .FoundFiles(I), True
Next I
End If
End With
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.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:a42701c380db$5b9fd360$
Je te remercie pour l'aide je vais essayer pour ce qui est
du vba je ne suis pas contre mais je ne connais pas alors
c'est pour cela que je voulais passer par les macros sinon
pour ce qui est des fichiers il s'agit de fichier ayant
pour nom la date du jour par ex 10102002.log et ils se
trouvent tous dans un seul et même répertoire et
fusionnent bien dans la même table.
-----Message d'origine-----
Bonjour.

Tu es contre le vba ? ce serait plus facile à mon avis.
les fichiers sont-ils tous dans le même répertoire ?
tous les fichiers sont fusionnés dans la même table ?

dans le principe:
boucler sur le nombre de fichiers:
filesearch pour récupérer les noms de fichiers
TransferText
--
@+
Raymond Access MVP.
http://access.seneque.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:029901c37e7d$29584b90$
Salut je cherche un moyen de créer une macro sous access
voir excel qui me permettrai d'importer automatiquement
un groupe de fichier dans une table données d'access et
qui de plus modifierai l'extention de ceux-ci .LOG -
.txt


Merci d'avance,

.



.




Avatar
Raymond
Bonjour.

modifie la ligne en indiquant le bon paramètre qui est fonction de la
version vba que tu possèdes.
acSpreadsheetTypeExcel9 c'est pour vba 2000.
--
@+
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:062301c3826c$b6ce5440$
Salut merci pour le code vba mais j'ai encore un problème
le terme acSpreadsheetTypeExcel9 n'est pas reconnu je peux
donc pas executer le formulaire.
Merci pour l'aide
Avatar
Romain
C'est encore moi maintenant g effectuer toutes les
modifications ils n'y a plus d'erreur pourtant il ne se
passe rien quand je clique sur le bouton d'action du
formulaire la table reste vide
le code est :
Private Sub Commande65_Click()
chercher "P:MethodesStagiairesRomain SLog", "*.log",
False
End Sub
Private Sub chercher(NomChemin As String, NomFichier As
String, Sous_repert As Boolean)
On Error Resume Next
Dim I As Integer
With FileSearch
.Newsearch
.LookIn = NomChemin
.FileName = NomFichier
.SearchSubFolders = Sous_repert
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransfertSpreadsheetacImport ,
acSpreadsheetTypeExcel4, "Table1", .FoundFiles(I), True
Next I
End If
End With
End Sub

-----Message d'origine-----
Bonjour.

modifie la ligne en indiquant le bon paramètre qui est
fonction de la

version vba que tu possèdes.
acSpreadsheetTypeExcel9 c'est pour vba 2000.
--
@+
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:062301c3826c$b6ce5440$
Salut merci pour le code vba mais j'ai encore un problème
le terme acSpreadsheetTypeExcel9 n'est pas reconnu je peux
donc pas executer le formulaire.
Merci pour l'aide

.



Avatar
Raymond
RE.

acSpreadsheetTypeExcel4 c'est avant 97 ?

pour filesearch il faut access 2000 mini.

je pense que l'espace avant acimport est du au copier/coller ?
DoCmd.TransfertSpreadsheet acImport
La compilation est bonne ?

1- enlève le on error resume next pour vérifier s'il n'y a pas une erreur de
syntaxe.

2- il est possible que le TransfertSpreadsheet ne comprenne pas le
.FoundFiles(I)
rajouter un Dim F As String au début
modifier comme suit:
For ............................
F = .FoundFiles(I)
DoCmd.TransfertSpreadsheet acImport , acSpreadsheetTypeExcel4, "Table1",
F, True
--
@+
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:167601c38284$30618fe0$
C'est encore moi maintenant g effectuer toutes les
modifications ils n'y a plus d'erreur pourtant il ne se
passe rien quand je clique sur le bouton d'action du
formulaire la table reste vide
le code est :
Private Sub Commande65_Click()
chercher "P:MethodesStagiairesRomain SLog", "*.log",
False
End Sub
Private Sub chercher(NomChemin As String, NomFichier As
String, Sous_repert As Boolean)
On Error Resume Next
Dim I As Integer
With FileSearch
.Newsearch
.LookIn = NomChemin
.FileName = NomFichier
.SearchSubFolders = Sous_repert
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransfertSpreadsheetacImport ,
acSpreadsheetTypeExcel4, "Table1", .FoundFiles(I), True
Next I
End If
End With
End Sub
Avatar
Romain
Aprés avoir enlever le on error resume next et recompiler
il n'y a pas d'erreur de syntaxe et avec la modification (
dim F as string...) il se produit une erreur d'exécution
438 au niveau de la ligne
DoCmd.TransfertSpreadsheet acImport,
acSpreadsheetTypeExcel4, "Table1", F,True
Sinon merci aussi pour la requête d'ajout ça fonctionne
bien maintenant
Par contre pour ce qui est de la version d'access je suis
sur 2000 mais je risque de devoir faire fonctionner le
formulaire sur des versions antérieures.
Comment faire alors si le FileSearch n'est pas reconnu ?
Merci.

-----Message d'origine-----
RE.

acSpreadsheetTypeExcel4 c'est avant 97 ?

pour filesearch il faut access 2000 mini.

je pense que l'espace avant acimport est du au
copier/coller ?

DoCmd.TransfertSpreadsheet acImport
La compilation est bonne ?

1- enlève le on error resume next pour vérifier s'il n'y
a pas une erreur de

syntaxe.

2- il est possible que le TransfertSpreadsheet ne
comprenne pas le

..FoundFiles(I)
rajouter un Dim F As String au début
modifier comme suit:
For ............................
F = .FoundFiles(I)
DoCmd.TransfertSpreadsheet acImport ,
acSpreadsheetTypeExcel4, "Table1",

F, True
--
@+
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:167601c38284$30618fe0$
C'est encore moi maintenant g effectuer toutes les
modifications ils n'y a plus d'erreur pourtant il ne se
passe rien quand je clique sur le bouton d'action du
formulaire la table reste vide
le code est :
Private Sub Commande65_Click()
chercher "P:MethodesStagiairesRomain SLog", "*.log",
False
End Sub
Private Sub chercher(NomChemin As String, NomFichier As
String, Sous_repert As Boolean)
On Error Resume Next
Dim I As Integer
With FileSearch
.Newsearch
.LookIn = NomChemin
.FileName = NomFichier
.SearchSubFolders = Sous_repert
If .Execute() > 0 Then
For I = 1 To .FoundFiles.Count
DoCmd.TransfertSpreadsheetacImport ,
acSpreadsheetTypeExcel4, "Table1", .FoundFiles(I), True
Next I
End If
End With
End Sub

.



Avatar
Raymond
Il faut passer par Dir ( voir aide en ligne)

--
@+
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:1d9b01c3829b$8b72e390$
Aprés avoir enlever le on error resume next et recompiler
il n'y a pas d'erreur de syntaxe et avec la modification (
dim F as string...) il se produit une erreur d'exécution
438 au niveau de la ligne
DoCmd.TransfertSpreadsheet acImport,
acSpreadsheetTypeExcel4, "Table1", F,True
Sinon merci aussi pour la requête d'ajout ça fonctionne
bien maintenant
Par contre pour ce qui est de la version d'access je suis
sur 2000 mais je risque de devoir faire fonctionner le
formulaire sur des versions antérieures.
Comment faire alors si le FileSearch n'est pas reconnu ?
Merci.