Bonsoir.
Je dois régulièrement importer 10 feuilles XL dans 10 tables Access. tout
fonctionne correctement avec les importations enregistrées. Est il possible
toutefois de créer un code (ou une macro) qui réalise automatiquement les 10
imports et qui supprime au final les tables d'erreurs (a cause des numéros
autos).
Merci de votre aide. Crdt. Jymgo
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
FFO
Salut à toi
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a de table à alimenter et une action "ExécuterCode" associée à un module dans lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean For Each tdf In CurrentDb.TableDefs If tdf.Name Like "Errorimport*" Then CurrentDb.Execute "Drop " & tdf.Name End If Next End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
If tdf.Name Like "Errorimport*" Then
Donnes moi des nouvelles !!!!!
Salut à toi
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a
de table à alimenter et une action "ExécuterCode" associée à un module dans
lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean
For Each tdf In CurrentDb.TableDefs
If tdf.Name Like "Errorimport*" Then
CurrentDb.Execute "Drop " & tdf.Name
End If
Next
End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a de table à alimenter et une action "ExécuterCode" associée à un module dans lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean For Each tdf In CurrentDb.TableDefs If tdf.Name Like "Errorimport*" Then CurrentDb.Execute "Drop " & tdf.Name End If Next End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
If tdf.Name Like "Errorimport*" Then
Donnes moi des nouvelles !!!!!
jymgo
Bonjour et merci beaucoup pour la solution. L'import fonctionne correctement, contrairement à l'effacement. J'ai adapté le nom des fichiers d'erreurs en spécifiant '*importErrors*'. C'est la 1ere fois que je crée un module. A la place de 'Fichier_erreur()' j'ai inscrit 'effacement()'. C'est le nom que j'ai mis dans la ligne de commande de la macro 'exécuter code' Merci de ton aide JYMGO
"FFO" a écrit :
Salut à toi
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a de table à alimenter et une action "ExécuterCode" associée à un module dans lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean For Each tdf In CurrentDb.TableDefs If tdf.Name Like "Errorimport*" Then CurrentDb.Execute "Drop " & tdf.Name End If Next End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
If tdf.Name Like "Errorimport*" Then
Donnes moi des nouvelles !!!!!
Bonjour et merci beaucoup pour la solution.
L'import fonctionne correctement, contrairement à l'effacement.
J'ai adapté le nom des fichiers d'erreurs en spécifiant '*importErrors*'.
C'est la 1ere fois que je crée un module. A la place de 'Fichier_erreur()'
j'ai inscrit 'effacement()'. C'est le nom que j'ai mis dans la ligne de
commande de la macro 'exécuter code'
Merci de ton aide
JYMGO
"FFO" a écrit :
Salut à toi
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a
de table à alimenter et une action "ExécuterCode" associée à un module dans
lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean
For Each tdf In CurrentDb.TableDefs
If tdf.Name Like "Errorimport*" Then
CurrentDb.Execute "Drop " & tdf.Name
End If
Next
End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
Bonjour et merci beaucoup pour la solution. L'import fonctionne correctement, contrairement à l'effacement. J'ai adapté le nom des fichiers d'erreurs en spécifiant '*importErrors*'. C'est la 1ere fois que je crée un module. A la place de 'Fichier_erreur()' j'ai inscrit 'effacement()'. C'est le nom que j'ai mis dans la ligne de commande de la macro 'exécuter code' Merci de ton aide JYMGO
"FFO" a écrit :
Salut à toi
Tu crées une macro avec autant d'action "TransférerFeuilleCalcul" qu'il y a de table à alimenter et une action "ExécuterCode" associée à un module dans lequel tu mets ces lignes :
Public Function Fichier_erreur() As Boolean For Each tdf In CurrentDb.TableDefs If tdf.Name Like "Errorimport*" Then CurrentDb.Execute "Drop " & tdf.Name End If Next End Function
Celà devrait convenir
Vérifies le nom des tables d'erreur et adapte en fonction la ligne :
If tdf.Name Like "Errorimport*" Then
Donnes moi des nouvelles !!!!!
FFO
Rebonjour
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
Rebonjour
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
jymgo
OK L'effacement ne fonctionne pas. Le système me retourne une erreur en me disant que le champ F1 n'existe pas or, je n'ai pas de champ F1 dans mes feuilles XL. Néanmoins, le plus important, c'est que l'import fonctionne, ce qui me fait gagner un temps précieux. J'ai plusieurs projet Access en cours et certainement d'autres problèmes à soumettre. Merci encore de prendre du temps pour moi Crdt Jymgo
"FFO" a écrit :
Rebonjour
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
OK
L'effacement ne fonctionne pas.
Le système me retourne une erreur en me disant que le champ F1 n'existe pas
or, je n'ai pas de champ F1 dans mes feuilles XL.
Néanmoins, le plus important, c'est que l'import fonctionne, ce qui me fait
gagner un temps précieux. J'ai plusieurs projet Access en cours et
certainement d'autres problèmes à soumettre. Merci encore de prendre du temps
pour moi
Crdt
Jymgo
"FFO" a écrit :
Rebonjour
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
OK L'effacement ne fonctionne pas. Le système me retourne une erreur en me disant que le champ F1 n'existe pas or, je n'ai pas de champ F1 dans mes feuilles XL. Néanmoins, le plus important, c'est que l'import fonctionne, ce qui me fait gagner un temps précieux. J'ai plusieurs projet Access en cours et certainement d'autres problèmes à soumettre. Merci encore de prendre du temps pour moi Crdt Jymgo
"FFO" a écrit :
Rebonjour
J'ai pas trés bien compris si tout fonctionnait correctement
Merci de me confirmer !!!!
Sinon me dire ce qui ne va pas, à quel niveau ou les symptomes
FFO
Rebonjours à toi
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs" à Oui Ce qui tout à fait correct mais nécessite que tu est le même nombre et la même appellation des champs entre le fichier à importer et ta table en correspondance Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui porte ce caractère est à importer Ne trouvant pas son homologue dans la table de destination et de plus n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes resteront aprés cette manipulation à l'écran ce qui est normal (la feuille Excel reste toujours avec le même nombre de colonne et de lignes) mais elles seront totalement vidées et donc virtuelles Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access
Tiens moi informé !!!!!!
Rebonjours à toi
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs"
à Oui
Ce qui tout à fait correct mais nécessite que tu est le même nombre et la
même appellation des champs entre le fichier à importer et ta table en
correspondance
Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta
table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans
une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui
porte ce caractère est à importer
Ne trouvant pas son homologue dans la table de destination et de plus
n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message
avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les
colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes
resteront aprés cette manipulation à l'écran ce qui est normal (la feuille
Excel reste toujours avec le même nombre de colonne et de lignes) mais elles
seront totalement vidées et donc virtuelles
Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs" à Oui Ce qui tout à fait correct mais nécessite que tu est le même nombre et la même appellation des champs entre le fichier à importer et ta table en correspondance Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui porte ce caractère est à importer Ne trouvant pas son homologue dans la table de destination et de plus n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes resteront aprés cette manipulation à l'écran ce qui est normal (la feuille Excel reste toujours avec le même nombre de colonne et de lignes) mais elles seront totalement vidées et donc virtuelles Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access
Tiens moi informé !!!!!!
jymgo
Merci de ta réponse FFO et désolé pour le délai de réponse 1) l'import fonctionne très bien (merci encore) 2) l'effacement des tables d'erreurs ne se fait pas.
J'avais pris la peine au préalable de contrôler les champs à importer et ceux des tables et j'avais effectivement supprimer (virtuellement) les colonnes situées à droite du dernier champ à importer. Rien n'y fait. L'importation me génère 10 tables d'erreurs, liés à la numérotation automatique. J'ai présenté mes tables différemment, ce qui me permet de supprimer les tables d'erreurs en une seule fois. On va clore ce sujet, mais je serai certainement amené à recontacter le forum pour d'autres solutions. Merci à toir. Jymgo
"FFO" a écrit :
Rebonjours à toi
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs" à Oui Ce qui tout à fait correct mais nécessite que tu est le même nombre et la même appellation des champs entre le fichier à importer et ta table en correspondance Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui porte ce caractère est à importer Ne trouvant pas son homologue dans la table de destination et de plus n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes resteront aprés cette manipulation à l'écran ce qui est normal (la feuille Excel reste toujours avec le même nombre de colonne et de lignes) mais elles seront totalement vidées et donc virtuelles Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access
Tiens moi informé !!!!!!
Merci de ta réponse FFO et désolé pour le délai de réponse
1) l'import fonctionne très bien (merci encore)
2) l'effacement des tables d'erreurs ne se fait pas.
J'avais pris la peine au préalable de contrôler les champs à importer et
ceux des tables et j'avais effectivement supprimer (virtuellement) les
colonnes situées à droite du dernier champ à importer.
Rien n'y fait. L'importation me génère 10 tables d'erreurs, liés à la
numérotation automatique. J'ai présenté mes tables différemment, ce qui me
permet de supprimer les tables d'erreurs en une seule fois.
On va clore ce sujet, mais je serai certainement amené à recontacter le
forum pour d'autres solutions. Merci à toir. Jymgo
"FFO" a écrit :
Rebonjours à toi
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs"
à Oui
Ce qui tout à fait correct mais nécessite que tu est le même nombre et la
même appellation des champs entre le fichier à importer et ta table en
correspondance
Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta
table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans
une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui
porte ce caractère est à importer
Ne trouvant pas son homologue dans la table de destination et de plus
n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message
avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les
colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes
resteront aprés cette manipulation à l'écran ce qui est normal (la feuille
Excel reste toujours avec le même nombre de colonne et de lignes) mais elles
seront totalement vidées et donc virtuelles
Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access
Merci de ta réponse FFO et désolé pour le délai de réponse 1) l'import fonctionne très bien (merci encore) 2) l'effacement des tables d'erreurs ne se fait pas.
J'avais pris la peine au préalable de contrôler les champs à importer et ceux des tables et j'avais effectivement supprimer (virtuellement) les colonnes situées à droite du dernier champ à importer. Rien n'y fait. L'importation me génère 10 tables d'erreurs, liés à la numérotation automatique. J'ai présenté mes tables différemment, ce qui me permet de supprimer les tables d'erreurs en une seule fois. On va clore ce sujet, mais je serai certainement amené à recontacter le forum pour d'autres solutions. Merci à toir. Jymgo
"FFO" a écrit :
Rebonjours à toi
Celà n'a rien à voir avec la suppression des tables '*importErrors*' ????
Ton message est trés certainement lié à l'import d'un fichier dans une table
Dans la macro pour cet import tu as du paramétrer "Contient noms de champs" à Oui Ce qui tout à fait correct mais nécessite que tu est le même nombre et la même appellation des champs entre le fichier à importer et ta table en correspondance Sinon tu as ce message d'erreur
Tu as donc soit un champ dans ton fichier (une colonne) non déclaré dans ta table Access soit avec un entête différent (au caractère prés)
Attention de ne pas avoir dans ton fichier Excel un caractère résiduel dans une colonne suivant celles qui doivent être importé
Si tel est le cas (même avec un blanc ) Access considère que la colonne qui porte ce caractère est à importer Ne trouvant pas son homologue dans la table de destination et de plus n'ayant pas d'entête pour celle-ci dans ton fichier Excel tu as ce message avec par défaut le nom "Champ1" comme nom de champ
Je te préconise d'ouvrir le fichier Excel de sélectionner toutes les colonnes qui ne doivent pas être importées et de les supprimer Ces colonnes resteront aprés cette manipulation à l'écran ce qui est normal (la feuille Excel reste toujours avec le même nombre de colonne et de lignes) mais elles seront totalement vidées et donc virtuelles Tu enregistres ce fichier, le fermes et tu réessaies l'import sous Access