Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Importer des données de access dans excel, les traiter dans excel et les reexporter vers access

7 réponses
Avatar
Eric Mary
Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a partir de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite je
fais les operations voulues, la aussi pas de problemes mais je na rrive pas
a comander Access a partir de excel pour qu il re-importe mes données et les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric

7 réponses

Avatar
FFO
Salut à toi

Je te propose pour mettre à jour les données travaillées sous excel d'une
table Access de concevoir dans la base access de cette table une macro qui
importerait tes données de ton fichier Excel dans une table transitoire et
qui par une requète appropriée mettrait à jour les données de ta table
(Requète mise à jour)
Resterait à commander cette macro à partir de ton document excel avec ce
code :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
OpenCurrentDatabase "C:CheminBase access.mdb"
DoCmd.RunMacro "NomMacro"
CloseCurrentDatabase
ObjAcc.Application.Quit

j'ai essayé celà fonctionne nickel
Celà devrait en être de même pour toi
Je peux t'aider à mettre en place les modifications nécessaire dans Access
si tu as des difficultés (c'est trés simple)
Dis moi !!!


Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a partir de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite je
fais les operations voulues, la aussi pas de problemes mais je na rrive pas
a comander Access a partir de excel pour qu il re-importe mes données et les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric





Avatar
Eric Mary
Merci beaucoup FFO,

ca m irait parfaitement ce que tu proposes, par contre je dois avouer que je
sais vraiment pas grand chose sur access et sur comment faire une requette
qui importerait mes données excel dans access....
Donc vu que tu me proposes je veux bien que tu me donnes deux trois tuyaux!!

Merci d avance



"FFO" wrote in message
news:
Salut à toi

Je te propose pour mettre à jour les données travaillées sous excel d'une
table Access de concevoir dans la base access de cette table une macro qui
importerait tes données de ton fichier Excel dans une table transitoire et
qui par une requète appropriée mettrait à jour les données de ta table
(Requète mise à jour)
Resterait à commander cette macro à partir de ton document excel avec ce
code :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
OpenCurrentDatabase "C:CheminBase access.mdb"
DoCmd.RunMacro "NomMacro"
CloseCurrentDatabase
ObjAcc.Application.Quit

j'ai essayé celà fonctionne nickel
Celà devrait en être de même pour toi
Je peux t'aider à mettre en place les modifications nécessaire dans Access
si tu as des difficultés (c'est trés simple)
Dis moi !!!


Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a partir
de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite
je
fais les operations voulues, la aussi pas de problemes mais je na rrive
pas
a comander Access a partir de excel pour qu il re-importe mes données et
les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric







Avatar
JB
Bonjour,

1/Je ne vois pas pourquoi exporter Access vers Excel puis importer. Il
est plus simple de tout faire sur Access

2/ Communiquer avec Access

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB

On 19 juin, 10:20, "Eric Mary" wrote:
Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les donné es
importées et les exporter vers la base de donnée access tout ca a par tir de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite je
fais les operations voulues, la aussi pas de problemes mais je na rrive p as
a comander Access a partir de excel pour qu il re-importe mes données e t les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric


Avatar
FFO
Rebonjour à toi
Aussitôt dit aussitôt !!!!!
Accroches toi on y vas !!!!!

Ouvres ta base access
1° opération : la création de la table transitoire :
Actives : Objets/Tables
Selectionnes ta table finale de destination
Fait Edition/Copier puis Edition/Coller
A l'invite saisie un nom de table qui sera le nom de ta table transitoire
exemple "toto" et OK
Ta table viens d'être créée

2° opération : la création d'une requète suppression pour vider cette table
de la dernière importation
Actives : Objets/Requête
Au dessous de la barre d'outils cliques sur Nouveau
Sélectionnes Mode création et OK
Dans la fenêtre "Afficher la table" sélectionnes "toto" et Ajouter
Cliques sur la croix de la fenètre pour la fermer
Dans la petite fenètre "toto" selectionnes tous les champs (cliques sur le
premier et en maintenant la flêche du clavier cliques sur le dernier tous les
champs doivent être sélectionnés)
En maintenant cliqué tous les champs tu réalises un cliqué/glissé vers le
tableau situé dans la 2° partie de l'écran et tu portes ta souris sur la
cellule "Champ" de la 1° colonne et tu laches ton clique
Tous les champs vont se reporter sur la ligne "Champ" un par colonne
Si tu as commis une erreur tu peux sélectionner les colonnes erronées en
portant la souris sur le petit bandeau gris en tout début cliquer et activer
la touche "Suppr de ton clavier puis recommencer
Puis Requête/Requête Suppression (bandeau du haut)
Puis Fichier/Enregistrer saisir un nom de requête ("Apuration table toto"
par exemple)

3° Opération : la création des requêtes mise à jour de la table de destination
Actives : Objets/Requête
Au dessous de la barre d'outils cliques sur Nouveau
Sélectionnes Mode création et OK
Dans la fenêtre "Afficher la table" sélectionnes "toto" et Ajouter puis La
table de destination et Ajouter
Cliques sur la croix de la fenètre pour la fermer
Dans la petite fenètre de la table de destination tu selectionnes le premier
champ suceptible d'être modifié
En maintenant cliqué ce champ tu réalises un cliqué/glissé vers le tableau
situé dans la 2° partie de l'écran et tu portes ta souris sur la cellule
"Champ" de la 1° colonne et tu laches ton clique
Le champ va se reporter sur la ligne "Champ" de la 1° colonne
Si tu as commis une erreur tu peux sélectionner la colonne erroné en portant
la souris sur le petit bandeau gris en tout début cliquer et activer la
touche "Suppr de ton clavier puis recommencer
Puis tu cliques dans la petite fenètre "toto" sur le champ repère qui permet
d'identifier chaque ligne (code, clef etc...) et tu opères un cliqué/glissé
vers le même champ de la petite fenètre de la table de destination
En relachant ton clique un petit lien s'établit entre les même champs des 2
fenètres qui sera le lien entre les 2 tables
Tu cliques sur la cellule "Mise à jour" dans le tableau de la 2° partie de
l'écran correspondant à la colonne de ton champ
Clique droit /Créer
Fenètre bas à gauche doublecliques sur Tables puis clique sur "Toto" puis
doubleclique fenètre contigue de droite sur le champ qui doit remplacer le
champ de la table de Destination objet de la mise à jour
Puis OK

Tu dois avoir au final dans la 2° partie de ton écran 1° colonne :

Champ : le champ à modifier
Table : le nom de la table de destination
Mise à jour : [toto]![champ portant la nouvelle donnée]

Puis Fichier/Enregistrer saisir un nom de requête ("Mise à jour 1° champ
table de Destination" par exemple)

Opére autant de fois la 3° Opération qu'il y a de champs à modifier

4° Opération : la création de la macro
Actives : Objets/Macros
Au dessous de la barre d'outils cliques sur Nouveau
Cliques sur la 1° ligne colonne "Action"
Par la petite flèche sélectionnes "OuvrirRequête"
En bas de l'écran cliques sur la petite fenètre "Nom requête"
Par la petite flèche sélectionnes :
la requête "Apuration table toto"

la ligne suivante haut de l'écran (idem que précédemment):
TransférerFeuilleCalcul
avec cette ligne :
au bas de l'écran fenêtre
Type transfert : Importation
Type feuille : Microsoft Excel (ta version)
Nom table : "toto"
Nom fichier : C:CheminFichier.xls (le chemin et le nom te ton document
Excel de travail)
Contient noms de champs : Oui
Etendue : Feuil1! (le nom de l'onglet de ton document Excel)

la ligne suivante haut de l'écran (idem que précédemment):
Par la petite flèche sélectionnes "OuvrirRequête"
En bas de l'écran cliques sur la petite fenètre "Nom requête"
Par la petite flèche sélectionnes :
la requête "Mise à jour champ1 table de destination"

Répète cette dernière opération avec l'ensemble des champs à mettre à jour

Puis Fichier/Enregistrer saisir un nom de Macro ("Mise à jour table de
Destination" par exemple)

Voilà je crois qu'avec celà tu peux utiliser le code VBA en l'actualisant
des paramètres Adresse et nom de la Base Access et nom de la Macro

Fait tout d'abord un essai avec un seule occurence pour limiter une
éventuelle casse
On n'est jamais assez prudent
Fais une copie en préambule de ta table de destination celà peut s'avérer
utile

Attention toutes les occurences concernées par une action de mise à jour
doivent avoir au moins les anciens paramètres par défaut car le déroulement
de cette macros actualisera tous les champs de la table toto vers la table de
destination impactés par l'une des requêtes mise à jour que le champ dans
"toto" soit vide ou non
Je m'explique un champ avec des données au départ qui serait vidé dans ton
document excel (oubli ou autre) sera vidé pour l'occurence concerné dans la
table de destination

Si cette contrainte s'avérait handicapante on pourra rajouter une condition
dans les différente requête de Mise à jour

Bon courage tout de même

Tiens moi informé



Merci beaucoup FFO,

ca m irait parfaitement ce que tu proposes, par contre je dois avouer que je
sais vraiment pas grand chose sur access et sur comment faire une requette
qui importerait mes données excel dans access....
Donc vu que tu me proposes je veux bien que tu me donnes deux trois tuyaux!!

Merci d avance



"FFO" wrote in message
news:
Salut à toi

Je te propose pour mettre à jour les données travaillées sous excel d'une
table Access de concevoir dans la base access de cette table une macro qui
importerait tes données de ton fichier Excel dans une table transitoire et
qui par une requète appropriée mettrait à jour les données de ta table
(Requète mise à jour)
Resterait à commander cette macro à partir de ton document excel avec ce
code :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
OpenCurrentDatabase "C:CheminBase access.mdb"
DoCmd.RunMacro "NomMacro"
CloseCurrentDatabase
ObjAcc.Application.Quit

j'ai essayé celà fonctionne nickel
Celà devrait en être de même pour toi
Je peux t'aider à mettre en place les modifications nécessaire dans Access
si tu as des difficultés (c'est trés simple)
Dis moi !!!


Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a partir
de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite
je
fais les operations voulues, la aussi pas de problemes mais je na rrive
pas
a comander Access a partir de excel pour qu il re-importe mes données et
les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric












Avatar
FFO
Salut JB

Sur le principe je suis tout à fait d'accord avec toi
Mais le commun des mortels est loin d'être familiarisé avec les méandre
d'Access ce qui n'est pas le cas d'Excel notamment en terme de saisie et
d'utilisation de Process
De plus Excel offre beaucoup plus d'avantage dans ce domaine
Je me suis donc résolu pour le bien être de mes utilisateurs à circonscrir
la saisie dans Excel et de piloter par son biais Access dans lequel j'importe
cette saisie et de bénéficier de toute ses possibilités dans le croisement
des fichiers

C'était celà ou le délaissement de mes outils

Le choix fut vite fais

Il en faut pour tous les goûts

Ne crois tu pas ????


Bonjour,

1/Je ne vois pas pourquoi exporter Access vers Excel puis importer. Il
est plus simple de tout faire sur Access

2/ Communiquer avec Access

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB

On 19 juin, 10:20, "Eric Mary" wrote:
Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a partir de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche ensuite je
fais les operations voulues, la aussi pas de problemes mais je na rrive pas
a comander Access a partir de excel pour qu il re-importe mes données et les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie de
faire...)

Auriez vous une idée?

Merci d avance,

Eric







Avatar
Eric Mary
Exactement, excel je commence a etre familier, mais access c est une grosse
boite noire pour moi... bien que j aie envie de me mettre a access, pour l
instant je suis pris par le temps, donc je vais opter pour l option FFO,
mais je te remercie JB de tes conseils!
a+

"FFO" wrote in message
news:
Salut JB

Sur le principe je suis tout à fait d'accord avec toi
Mais le commun des mortels est loin d'être familiarisé avec les méandre
d'Access ce qui n'est pas le cas d'Excel notamment en terme de saisie et
d'utilisation de Process
De plus Excel offre beaucoup plus d'avantage dans ce domaine
Je me suis donc résolu pour le bien être de mes utilisateurs à circonscrir
la saisie dans Excel et de piloter par son biais Access dans lequel
j'importe
cette saisie et de bénéficier de toute ses possibilités dans le croisement
des fichiers

C'était celà ou le délaissement de mes outils

Le choix fut vite fais

Il en faut pour tous les goûts

Ne crois tu pas ????


Bonjour,

1/Je ne vois pas pourquoi exporter Access vers Excel puis importer. Il
est plus simple de tout faire sur Access

2/ Communiquer avec Access

http://boisgontierjacques.free.fr/fichiers/jb-ExelAccess.zip

JB

On 19 juin, 10:20, "Eric Mary" wrote:
Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les données
importées et les exporter vers la base de donnée access tout ca a
partir de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche
ensuite je
fais les operations voulues, la aussi pas de problemes mais je na rrive
pas
a comander Access a partir de excel pour qu il re-importe mes données
et les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie
de
faire...)

Auriez vous une idée?

Merci d avance,

Eric









Avatar
Eric Mary
Ouah!!!! excelent! merci beaucoup pour le temps que tu as pris pour me
repondre, c est bien cool!
je vais donc essayer ta methode qui comme tu l as ecrit me permet d utiliser
ce que j avais deja fait dans excel et m evite le casse tete (pour moi) de
faire tout par access....
merci beaucoup FFO!!


"FFO" wrote in message
news:
Rebonjour à toi
Aussitôt dit aussitôt !!!!!
Accroches toi on y vas !!!!!

Ouvres ta base access
1° opération : la création de la table transitoire :
Actives : Objets/Tables
Selectionnes ta table finale de destination
Fait Edition/Copier puis Edition/Coller
A l'invite saisie un nom de table qui sera le nom de ta table transitoire
exemple "toto" et OK
Ta table viens d'être créée

2° opération : la création d'une requète suppression pour vider cette
table
de la dernière importation
Actives : Objets/Requête
Au dessous de la barre d'outils cliques sur Nouveau
Sélectionnes Mode création et OK
Dans la fenêtre "Afficher la table" sélectionnes "toto" et Ajouter
Cliques sur la croix de la fenètre pour la fermer
Dans la petite fenètre "toto" selectionnes tous les champs (cliques sur le
premier et en maintenant la flêche du clavier cliques sur le dernier tous
les
champs doivent être sélectionnés)
En maintenant cliqué tous les champs tu réalises un cliqué/glissé vers le
tableau situé dans la 2° partie de l'écran et tu portes ta souris sur la
cellule "Champ" de la 1° colonne et tu laches ton clique
Tous les champs vont se reporter sur la ligne "Champ" un par colonne
Si tu as commis une erreur tu peux sélectionner les colonnes erronées en
portant la souris sur le petit bandeau gris en tout début cliquer et
activer
la touche "Suppr de ton clavier puis recommencer
Puis Requête/Requête Suppression (bandeau du haut)
Puis Fichier/Enregistrer saisir un nom de requête ("Apuration table toto"
par exemple)

3° Opération : la création des requêtes mise à jour de la table de
destination
Actives : Objets/Requête
Au dessous de la barre d'outils cliques sur Nouveau
Sélectionnes Mode création et OK
Dans la fenêtre "Afficher la table" sélectionnes "toto" et Ajouter puis La
table de destination et Ajouter
Cliques sur la croix de la fenètre pour la fermer
Dans la petite fenètre de la table de destination tu selectionnes le
premier
champ suceptible d'être modifié
En maintenant cliqué ce champ tu réalises un cliqué/glissé vers le tableau
situé dans la 2° partie de l'écran et tu portes ta souris sur la cellule
"Champ" de la 1° colonne et tu laches ton clique
Le champ va se reporter sur la ligne "Champ" de la 1° colonne
Si tu as commis une erreur tu peux sélectionner la colonne erroné en
portant
la souris sur le petit bandeau gris en tout début cliquer et activer la
touche "Suppr de ton clavier puis recommencer
Puis tu cliques dans la petite fenètre "toto" sur le champ repère qui
permet
d'identifier chaque ligne (code, clef etc...) et tu opères un
cliqué/glissé
vers le même champ de la petite fenètre de la table de destination
En relachant ton clique un petit lien s'établit entre les même champs des
2
fenètres qui sera le lien entre les 2 tables
Tu cliques sur la cellule "Mise à jour" dans le tableau de la 2° partie de
l'écran correspondant à la colonne de ton champ
Clique droit /Créer
Fenètre bas à gauche doublecliques sur Tables puis clique sur "Toto" puis
doubleclique fenètre contigue de droite sur le champ qui doit remplacer le
champ de la table de Destination objet de la mise à jour
Puis OK

Tu dois avoir au final dans la 2° partie de ton écran 1° colonne :

Champ : le champ à modifier
Table : le nom de la table de destination
Mise à jour : [toto]![champ portant la nouvelle donnée]

Puis Fichier/Enregistrer saisir un nom de requête ("Mise à jour 1° champ
table de Destination" par exemple)

Opére autant de fois la 3° Opération qu'il y a de champs à modifier

4° Opération : la création de la macro
Actives : Objets/Macros
Au dessous de la barre d'outils cliques sur Nouveau
Cliques sur la 1° ligne colonne "Action"
Par la petite flèche sélectionnes "OuvrirRequête"
En bas de l'écran cliques sur la petite fenètre "Nom requête"
Par la petite flèche sélectionnes :
la requête "Apuration table toto"

la ligne suivante haut de l'écran (idem que précédemment):
TransférerFeuilleCalcul
avec cette ligne :
au bas de l'écran fenêtre
Type transfert : Importation
Type feuille : Microsoft Excel (ta version)
Nom table : "toto"
Nom fichier : C:CheminFichier.xls (le chemin et le nom te ton document
Excel de travail)
Contient noms de champs : Oui
Etendue : Feuil1! (le nom de l'onglet de ton document Excel)

la ligne suivante haut de l'écran (idem que précédemment):
Par la petite flèche sélectionnes "OuvrirRequête"
En bas de l'écran cliques sur la petite fenètre "Nom requête"
Par la petite flèche sélectionnes :
la requête "Mise à jour champ1 table de destination"

Répète cette dernière opération avec l'ensemble des champs à mettre à jour

Puis Fichier/Enregistrer saisir un nom de Macro ("Mise à jour table de
Destination" par exemple)

Voilà je crois qu'avec celà tu peux utiliser le code VBA en l'actualisant
des paramètres Adresse et nom de la Base Access et nom de la Macro

Fait tout d'abord un essai avec un seule occurence pour limiter une
éventuelle casse
On n'est jamais assez prudent
Fais une copie en préambule de ta table de destination celà peut s'avérer
utile

Attention toutes les occurences concernées par une action de mise à jour
doivent avoir au moins les anciens paramètres par défaut car le
déroulement
de cette macros actualisera tous les champs de la table toto vers la table
de
destination impactés par l'une des requêtes mise à jour que le champ dans
"toto" soit vide ou non
Je m'explique un champ avec des données au départ qui serait vidé dans ton
document excel (oubli ou autre) sera vidé pour l'occurence concerné dans
la
table de destination

Si cette contrainte s'avérait handicapante on pourra rajouter une
condition
dans les différente requête de Mise à jour

Bon courage tout de même

Tiens moi informé



Merci beaucoup FFO,

ca m irait parfaitement ce que tu proposes, par contre je dois avouer que
je
sais vraiment pas grand chose sur access et sur comment faire une
requette
qui importerait mes données excel dans access....
Donc vu que tu me proposes je veux bien que tu me donnes deux trois
tuyaux!!

Merci d avance



"FFO" wrote in message
news:
Salut à toi

Je te propose pour mettre à jour les données travaillées sous excel
d'une
table Access de concevoir dans la base access de cette table une macro
qui
importerait tes données de ton fichier Excel dans une table transitoire
et
qui par une requète appropriée mettrait à jour les données de ta table
(Requète mise à jour)
Resterait à commander cette macro à partir de ton document excel avec
ce
code :

Dim ObjAcc As Access.Application
Set ObjAcc = CreateObject("Access.Application")
OpenCurrentDatabase "C:CheminBase access.mdb"
DoCmd.RunMacro "NomMacro"
CloseCurrentDatabase
ObjAcc.Application.Quit

j'ai essayé celà fonctionne nickel
Celà devrait en être de même pour toi
Je peux t'aider à mettre en place les modifications nécessaire dans
Access
si tu as des difficultés (c'est trés simple)
Dis moi !!!


Bonjour a tous,

Je souhaite importer dans excel des données contenues dans une base de
donnée Access puis faire quelques operations dans excel sur les
données
importées et les exporter vers la base de donnée access tout ca a
partir
de
Excel.
Quand j enregistre la macro importer pas de problemes, ca marche
ensuite
je
fais les operations voulues, la aussi pas de problemes mais je na
rrive
pas
a comander Access a partir de excel pour qu il re-importe mes données
et
les
modifie dans la base de données access (pour faire ca je suis obligé d
ouvrir et d importer des données manuellement ce que je n ai pas envie
de
faire...)

Auriez vous une idée?

Merci d avance,

Eric