A voir également:
- {Access} Importer plusieurs fichiers excel
- Liste déroulante excel - Guide
- Renommer plusieurs fichiers - Guide
- Formule excel - Guide
- Fusionner plusieurs fichiers excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
8 réponses
Jean_Jacques
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
112
5 févr. 2010 à 11:06
5 févr. 2010 à 11:06
Bonjour rpouget,
En fait, du point de vue ACCESS, il s'agit d'importer les fichiers EXCEL ...
Procédure à suivre :
Activer la Base ACCESS :
- Menu Fichier
- Données externes
- Importer
- et .... Démarche assistée en pas à pas .... pour désigner le fichier objet de l'import
Malheureusement l'import se fait à l'unité, car les principes qui gèrent les bases de données excluent en principe que plus d'un fichier contienne des informations de même nature ...
Cordialement
En fait, du point de vue ACCESS, il s'agit d'importer les fichiers EXCEL ...
Procédure à suivre :
Activer la Base ACCESS :
- Menu Fichier
- Données externes
- Importer
- et .... Démarche assistée en pas à pas .... pour désigner le fichier objet de l'import
Malheureusement l'import se fait à l'unité, car les principes qui gèrent les bases de données excluent en principe que plus d'un fichier contienne des informations de même nature ...
Cordialement
Utilisateur anonyme
5 févr. 2010 à 11:15
5 févr. 2010 à 11:15
Si tu touches un peu en VBA, penches-toi sur la méthode docmd.TransferSpreadsheet.
Elle marche très bien pour ce que tu as à faire.
Elle marche très bien pour ce que tu as à faire.
rpouget
Messages postés
3
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
5 février 2010
5 févr. 2010 à 13:30
5 févr. 2010 à 13:30
Je me doutais qu'il y avait du VB la dessous, mais je ne touche pas suffisamment !
Si tu as une idée des quelques lignes à écrire, je suis preneur.
Merci
Si tu as une idée des quelques lignes à écrire, je suis preneur.
Merci
Utilisateur anonyme
5 févr. 2010 à 14:29
5 févr. 2010 à 14:29
Est-ce que tous tes fichiers excel contiennent le même format de données, et le même nombre de lignes ?
Si c'est le cas, je peux te donner quelques lignes de code qui devraient marcher.
Si c'est le cas, je peux te donner quelques lignes de code qui devraient marcher.
rpouget
Messages postés
3
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
5 février 2010
5 févr. 2010 à 14:59
5 févr. 2010 à 14:59
Mes fichiers excel contiennent le même nombre de colonnes avec les mêmes formats de données, mais pas le même nombre de lignes (entre 800 et 1000 lignes).
Merci si tu as une idées !
Merci si tu as une idées !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
5 févr. 2010 à 15:33
5 févr. 2010 à 15:33
Ok, je te prépare un petit bout de code pour tout à l'heure...
Utilisateur anonyme
5 févr. 2010 à 15:51
5 févr. 2010 à 15:51
Si j'ai bien suivi, tu as 200 fichiers Excel contenant chacun entre 800 et 1000 lignes !
Pour le fun, combien de colonnes ?
ta table va être lourde !
Pour le fun, combien de colonnes ?
ta table va être lourde !
Utilisateur anonyme
5 févr. 2010 à 18:17
5 févr. 2010 à 18:17
Désolé, pas eu le temps de m'en occuper (je suis au boulot, là !)
J'essayerai d'y jeter un oeil ce week-end.
J'essayerai d'y jeter un oeil ce week-end.
Utilisateur anonyme
8 févr. 2010 à 15:41
8 févr. 2010 à 15:41
Bonjour,
Je viens de trouver 5 minutes pour toi, et voilà le résultat :
Function ImporteExcel()
Dim NomFich As String
NomFich = Dir("D:\TestXl\*.xls")
Do While NomFich <> ""
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TableTempo", "D:\TestXl\" & NomFich, False, "A1:I300"
NomFich = Dir
Loop
End Function
Alors, ça fonctionne, mais il faut au préalable que ta table devant recevoir les données d'Excel soit créée avec 7 champs dont le type (texte, date...) correspond à tes colonnes Excel, dans le même ordre que tes colonnes Excel,
Tu dois personnaliser le code ci-dessus ainsi :
- A la place de "D:\TestXl\" (dans la première instruction Dir, et dans la ligne DoCmd.Transfer...) , tu mets le répertoire contenant tes fichiers Excel,
- Tu vérifies la version de Excel, pour que la constante acSpreadsheetTypeExcel? corresponde,
- Si tes fichiers Excel contiennent en première ligne les en-têtes de colonne, indique True en avant dernier argument,
- En dernier argument, tu mets la plage de cellules à importer de Excel vers Access. Puisque c'est variable (entre 800 et 1000, m'as-tu dit), tu mets "A1:I1500". Les lignes vides ne seront pas importées.
Voilà, j'ai fait le test sur ma machine, et ça tourne.
Je viens de trouver 5 minutes pour toi, et voilà le résultat :
Function ImporteExcel()
Dim NomFich As String
NomFich = Dir("D:\TestXl\*.xls")
Do While NomFich <> ""
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TableTempo", "D:\TestXl\" & NomFich, False, "A1:I300"
NomFich = Dir
Loop
End Function
Alors, ça fonctionne, mais il faut au préalable que ta table devant recevoir les données d'Excel soit créée avec 7 champs dont le type (texte, date...) correspond à tes colonnes Excel, dans le même ordre que tes colonnes Excel,
Tu dois personnaliser le code ci-dessus ainsi :
- A la place de "D:\TestXl\" (dans la première instruction Dir, et dans la ligne DoCmd.Transfer...) , tu mets le répertoire contenant tes fichiers Excel,
- Tu vérifies la version de Excel, pour que la constante acSpreadsheetTypeExcel? corresponde,
- Si tes fichiers Excel contiennent en première ligne les en-têtes de colonne, indique True en avant dernier argument,
- En dernier argument, tu mets la plage de cellules à importer de Excel vers Access. Puisque c'est variable (entre 800 et 1000, m'as-tu dit), tu mets "A1:I1500". Les lignes vides ne seront pas importées.
Voilà, j'ai fait le test sur ma machine, et ça tourne.
5 févr. 2010 à 13:28
Cordialement