OVH Cloud OVH Cloud

Importation automatique de données d'EXCEL vers ACCESS

2 réponses
Avatar
Doolittle
Bonjour,

J'importe dans ma base ACCESS (grâce à une macro) les données brutes qui se
trouvent dans un fichier EXCEL (ce fichier étant lui même généré à partir
d'un logiciel de gestion).
Malheureusement je suis obligé de regardé à chaque fois dans mon fichier
EXCEL le nombre de lignes contenant des informations pour ensuite modifier
ma macro en conséquences.

En effet, la commande que j'utilise m'impose d'identifier la plage de
cellules à importer:

DoCmd.TransferSpreadsheet acImport, , "Liste_Ecritures",
"C:\...\Liste des écritures.xls", True, "A1:H3475"

J'ai essayé une variante qui était proposée sur un site:

"C:\...\Liste des écritures.xls", 0"

Mais lorsque je lance une importation, cela déclanche une "erreur
d'exécution 2391 : Le champs "F1" n'existe pas dans la table destination".
Ors, j'ai beau vérifier; tout correspond !

Existe-t-il une commande permettant d'importer automatiquement la plage de
cellules contenant des informations (sans être obligé de préciser à chaque
fois la plage) ?

Merci pour votre aide.

Philippe

2 réponses

Avatar
Raymond [mvp]
Bonsoir.

Il suffit de supprimer la plage pour que access importe toutes les données
significatives. La plage est facultative.
DoCmd.TransferSpreadsheet acImport, , "Liste_Ecritures",
"C:...Liste des écritures.xls", True



--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Doolittle" a écrit dans le message
de news: 4154664f$0$16998$
Bonjour,

J'importe dans ma base ACCESS (grâce à une macro) les données brutes qui
se
trouvent dans un fichier EXCEL (ce fichier étant lui même généré à partir
d'un logiciel de gestion).
Malheureusement je suis obligé de regardé à chaque fois dans mon fichier
EXCEL le nombre de lignes contenant des informations pour ensuite modifier
ma macro en conséquences.

En effet, la commande que j'utilise m'impose d'identifier la plage de
cellules à importer:

DoCmd.TransferSpreadsheet acImport, , "Liste_Ecritures",
"C:...Liste des écritures.xls", True, "A1:H3475"

J'ai essayé une variante qui était proposée sur un site:

"C:...Liste des écritures.xls", 0"

Mais lorsque je lance une importation, cela déclanche une "erreur
d'exécution 2391 : Le champs "F1" n'existe pas dans la table destination".
Ors, j'ai beau vérifier; tout correspond !

Existe-t-il une commande permettant d'importer automatiquement la plage de
cellules contenant des informations (sans être obligé de préciser à chaque
fois la plage) ?

Merci pour votre aide.

Philippe




Avatar
Doolittle
Merci beaucoup !

"Raymond [mvp]" a écrit dans le message de
news:
Bonsoir.

Il suffit de supprimer la plage pour que access importe toutes les données
significatives. La plage est facultative.
DoCmd.TransferSpreadsheet acImport, , "Liste_Ecritures",
"C:...Liste des écritures.xls", True



--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Doolittle" a écrit dans le
message

de news: 4154664f$0$16998$
Bonjour,

J'importe dans ma base ACCESS (grâce à une macro) les données brutes qui
se
trouvent dans un fichier EXCEL (ce fichier étant lui même généré à
partir


d'un logiciel de gestion).
Malheureusement je suis obligé de regardé à chaque fois dans mon fichier
EXCEL le nombre de lignes contenant des informations pour ensuite
modifier


ma macro en conséquences.

En effet, la commande que j'utilise m'impose d'identifier la plage de
cellules à importer:

DoCmd.TransferSpreadsheet acImport, , "Liste_Ecritures",
"C:...Liste des écritures.xls", True, "A1:H3475"

J'ai essayé une variante qui était proposée sur un site:

"C:...Liste des écritures.xls", 0"

Mais lorsque je lance une importation, cela déclanche une "erreur
d'exécution 2391 : Le champs "F1" n'existe pas dans la table
destination".


Ors, j'ai beau vérifier; tout correspond !

Existe-t-il une commande permettant d'importer automatiquement la plage
de


cellules contenant des informations (sans être obligé de préciser à
chaque


fois la plage) ?

Merci pour votre aide.

Philippe