Merci d'avance de lire ce message.
Voilà mon pb : j'ai des centaines de fichiers xls (structure de table
identique), je voudrais écrire un programme en vb pour les importer tous
dans une seule table access.
Quelqu'un pourrait-il m'aider svp.
Mille Mercis
BS
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy SEMPERE
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "bsh77" a écrit dans le message news: brrklc$269$
Bonjour,
Merci d'avance de lire ce message. Voilà mon pb : j'ai des centaines de fichiers xls (structure de table identique), je voudrais écrire un programme en vb pour les importer tous dans une seule table access. Quelqu'un pourrait-il m'aider svp. Mille Mercis BS
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois
faire :
ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
********************************************
Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer
Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch
.LookIn = strDir: .FileName = "*.xls"
If .execute > 0 Then
For intfile = 1 To .FoundFiles.Count
strFile = .FoundFiles(intfile)
DoCmd.TransferSpreadsheet acImport,
acSpreadsheetTypeExcel97, _
strTable, strFile, True
Next
End If
End With
End Function
********************************************
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"bsh77" <bang-son.huynh@wanadoo.fr> a écrit dans le message news:
brrklc$269$1@news-reader5.wanadoo.fr...
Bonjour,
Merci d'avance de lire ce message.
Voilà mon pb : j'ai des centaines de fichiers xls (structure de table
identique), je voudrais écrire un programme en vb pour les importer tous
dans une seule table access.
Quelqu'un pourrait-il m'aider svp.
Mille Mercis
BS
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "bsh77" a écrit dans le message news: brrklc$269$
Bonjour,
Merci d'avance de lire ce message. Voilà mon pb : j'ai des centaines de fichiers xls (structure de table identique), je voudrais écrire un programme en vb pour les importer tous dans une seule table access. Quelqu'un pourrait-il m'aider svp. Mille Mercis BS
bsh77
Merci, je vais tester ce précieux bout de codes immédiatement. A bientot BS
"Jessy SEMPERE" a écrit dans le message de news: brrl3m$kef$
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "bsh77" a écrit dans le message news: brrklc$269$
Bonjour,
Merci d'avance de lire ce message. Voilà mon pb : j'ai des centaines de fichiers xls (structure de table identique), je voudrais écrire un programme en vb pour les importer tous dans une seule table access. Quelqu'un pourrait-il m'aider svp. Mille Mercis BS
Merci, je vais tester ce précieux bout de codes immédiatement.
A bientot
BS
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de news:
brrl3m$kef$1@muguet.sncf.fr...
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois
faire :
ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
********************************************
Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer
Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch
.LookIn = strDir: .FileName = "*.xls"
If .execute > 0 Then
For intfile = 1 To .FoundFiles.Count
strFile = .FoundFiles(intfile)
DoCmd.TransferSpreadsheet acImport,
acSpreadsheetTypeExcel97, _
strTable, strFile, True
Next
End If
End With
End Function
********************************************
--
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"bsh77" <bang-son.huynh@wanadoo.fr> a écrit dans le message news:
brrklc$269$1@news-reader5.wanadoo.fr...
Bonjour,
Merci d'avance de lire ce message.
Voilà mon pb : j'ai des centaines de fichiers xls (structure de table
identique), je voudrais écrire un programme en vb pour les importer tous
dans une seule table access.
Quelqu'un pourrait-il m'aider svp.
Mille Mercis
BS
Merci, je vais tester ce précieux bout de codes immédiatement. A bientot BS
"Jessy SEMPERE" a écrit dans le message de news: brrl3m$kef$
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
-- @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "bsh77" a écrit dans le message news: brrklc$269$
Bonjour,
Merci d'avance de lire ce message. Voilà mon pb : j'ai des centaines de fichiers xls (structure de table identique), je voudrais écrire un programme en vb pour les importer tous dans une seule table access. Quelqu'un pourrait-il m'aider svp. Mille Mercis BS
patrick.lyon
"Jessy SEMPERE" a utilisé son clavier pour écrire :
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
--
bonjour je vais garder precieusement ton code peux tu me dire si il gere le fait que tantôt acces détecte la 1ere ligne comm etant le titre des champs et tantôt il faut lui cobcher la case
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
"Jessy SEMPERE" a utilisé son clavier pour écrire :
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois
faire :
ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
********************************************
Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer
Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch
.LookIn = strDir: .FileName = "*.xls"
If .execute > 0 Then
For intfile = 1 To .FoundFiles.Count
strFile = .FoundFiles(intfile)
DoCmd.TransferSpreadsheet acImport,
acSpreadsheetTypeExcel97, _
strTable, strFile, True
Next
End If
End With
End Function
********************************************
--
bonjour
je vais garder precieusement ton code
peux tu me dire si il gere le fait que tantôt acces détecte la 1ere ligne comm etant le titre des champs et tantôt il faut lui
cobcher la case
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
"Jessy SEMPERE" a utilisé son clavier pour écrire :
Bonjour
Le code qui suit devrait te convenir, pour l'appeler tu dois faire : ImportAllFile ("Le répertoire", "la table destination")
PS : tous tes fichiers excel doivent être dans le même répertoire...
******************************************** Public Function ImportAllFile(strDir As String, strTable As String)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, _ strTable, strFile, True Next End If End With
End Function ********************************************
--
bonjour je vais garder precieusement ton code peux tu me dire si il gere le fait que tantôt acces détecte la 1ere ligne comm etant le titre des champs et tantôt il faut lui cobcher la case
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Jessy SEMPERE
Bonjour
je vais garder precieusement ton code
Si j'ai le temps je le mettrais sur mon site... ;-)
peux tu me dire si il gere le fait que tantôt acces détecte la 1ere ligne comm etant le titre des champs et tantôt il faut lui cobcher la case
Ben il suffit de rajouter un argument dans la fonction demandant si on veut ou non l'en-tête des champs
Exemple : ************************************************* Public Function ImportAllFile(strDir As String, strTable As String, _ blnFldName As Boolean)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, _ acSpreadsheetTypeExcel97, _ strTable, strFile, blnFldName Next End If End With
End Function ************************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------
Bonjour
je vais garder precieusement ton code
Si j'ai le temps je le mettrais sur mon site... ;-)
peux tu me dire si il gere le fait que tantôt acces détecte la
1ere ligne comm etant le titre des champs et tantôt il faut lui
cobcher la case
Ben il suffit de rajouter un argument dans la fonction demandant
si on veut ou non l'en-tête des champs
Exemple :
*************************************************
Public Function ImportAllFile(strDir As String, strTable As String, _
blnFldName As Boolean)
Dim intfile As Integer
Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch
.LookIn = strDir: .FileName = "*.xls"
If .execute > 0 Then
For intfile = 1 To .FoundFiles.Count
strFile = .FoundFiles(intfile)
DoCmd.TransferSpreadsheet acImport, _
acSpreadsheetTypeExcel97, _
strTable, strFile, blnFldName
Next
End If
End With
End Function
*************************************************
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Si j'ai le temps je le mettrais sur mon site... ;-)
peux tu me dire si il gere le fait que tantôt acces détecte la 1ere ligne comm etant le titre des champs et tantôt il faut lui cobcher la case
Ben il suffit de rajouter un argument dans la fonction demandant si on veut ou non l'en-tête des champs
Exemple : ************************************************* Public Function ImportAllFile(strDir As String, strTable As String, _ blnFldName As Boolean)
Dim intfile As Integer Dim strFile As String
intfile = 0: strFile = ""
With Application.FileSearch .LookIn = strDir: .FileName = "*.xls" If .execute > 0 Then For intfile = 1 To .FoundFiles.Count strFile = .FoundFiles(intfile) DoCmd.TransferSpreadsheet acImport, _ acSpreadsheetTypeExcel97, _ strTable, strFile, blnFldName Next End If End With
End Function ************************************************* @+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------