Comment importer des données précises d'excel dans Access

Comment importer des données précises d'excel dans Access - SQL/NoSQL - Programmation

Marsh Posté le 27-09-2005 à 22:05:14    

Voila le problème, j'ai une jolie feuille excel qui représente un formulaire que l'on me remplis et que l'on m'envoie pour alimenter ma base. Mais plutôt que de saisir les données à la mains je souhaiterais automatiser le processus.
Seuleument j'arrive à importer des fichiers ne comportant que des colonnes ayant les nom des champs de ma table donc dans ce cas ca ne marche pas. et je ne sais pas comment faire :(
Là ce que je voudrais ce serait pouvoir dire "champ nom_service = contenus de la case D11" par exemple. Mais ça je ne sais pas le faire :(
Si quelqu'un a une idée ce serait sympa merci.

Reply

Marsh Posté le 27-09-2005 à 22:05:14   

Reply

Marsh Posté le 28-09-2005 à 00:04:21    

:hello:  
Je ne discerne pas très bien ce que tu arrives à faire et ce que tu n'arrives pas à faire.
 
Supposons, que tu souhaite intégrer dans Access un fichier CSV.
Alors, il faut, aller dans la barre de menu, cliquer sur Données  externes/Importer, choisir un fichier, puis, c'est là la finesse, cliquer sur le bouton "Avancé" en bas à gauche de la boite de dialogue. Une nouvelle boite de dialogue apparait, et il faut remplir alors le tableau des champs selon ses désirs. Puis cliquer sur le bouton "enregistrer sous" pour enregister les "spécification d'importation" dans un fichier de modèle. Le nom de ce fichier sera utile par la suite pour importer avec les mêmes spécifications. Il faut ensuite poursuivre et terminer l'importation.  
Puis, il faut débuter l'enregistrement d'une macro, et recommencer l'importation en cliquant à nouveau sur le bouton "avancé", et en cliquant ensuite sur le bouton "paramètre" pour récupérer son modèle de spécification. Il faut ensuite poursuivre l'importation, arrêter l'enregistrement de la macro, et le code devrait être bon.
 
Attention, le bouton "avancé" n'existe pas si l'on importe un fichier "xls", mais alors, il existe d'autres options pour faire des associations entre les colonnes d'Excel et les colonnes des tables Access.

Reply

Marsh Posté le 28-09-2005 à 09:20:12    

Voilà le problème le formulaire que l'on me fournit est un .xls.
C'est un formulaire dont je ne veut récuperer que le contrenu de certaine case.
Par exemple seul le contenu de D11, G14, H12... m'interesse. Je voudrais pouvoir choisir les cases utiles et dire comment remplir ma table à partir de ces cases utile.

Reply

Marsh Posté le 28-09-2005 à 10:07:05    

tu veux par exemple dans un module vba detecter les cases selectionnees et faire des insert dans ta base Access??


Message édité par betsamee le 28-09-2005 à 10:07:34
Reply

Marsh Posté le 28-09-2005 à 10:14:06    

oui exactement ça  :)

Reply

Marsh Posté le 28-09-2005 à 10:15:06    

et comment vba saurait dans quelle table/champ inserer la case selectionee?

Reply

Marsh Posté le 28-09-2005 à 11:04:16    

C'est justement là mon problème  :(

Reply

Marsh Posté le 28-09-2005 à 11:05:42    

ben si tu sais pas conceptualiser ni le probleme ni sa solution je ne vais pas t'etre d'une grande utilite

Reply

Marsh Posté le 28-09-2005 à 11:27:39    

Le problème c'est que je connais précisément quelle case contient quelle info et ces info je sais dans quel champs de l'enregistrement il faut les placer.
Par exemple je sais qu'en case D11 se trouve le nom du responsable qui doit renseigner le champs "responsable" de mon enregistrement et ainsi de suite.
Ce que je ne sais pas c'est comment en VBA lui dire de prendre le contenu de la case D11 pour le mettre dans le champs "responsable" correspondant de l'enregistrement.

Reply

Marsh Posté le 28-09-2005 à 11:34:14    

je vais me faire gronder mais en gros (je te laisse te documenter pour coder tout ca)
tu ouvres une connexion vers ta BDD Access (ADO) dans ton module VBA d'excel ainsi qu'un recodset (disons qu'il s'appele rst).Tu recuperes les valeurs de tes cases (en utilisant Cell par exemple)
et tu lances tes requetes via  
rst.Open "insert into Tatable(Camp1,champ2...) values(Cell(1,2),Cell(1,7)...)
et tu fermes tout ...
 
 
a partir de ca et avec un peu de bonne volonte tu devrais y arriver

Reply

Marsh Posté le 28-09-2005 à 11:34:14   

Reply

Marsh Posté le 28-09-2005 à 11:39:39    

Merci moi je me dirigais a l'enver en voulant faire ca a partir d'access dans ce cas. Cela à l'air plus simple comme cela.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed