Comment importer des données précises d'excel dans Access - SQL/NoSQL - Programmation
Marsh Posté le 28-09-2005 à 00:04:21
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.
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.
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??
Marsh Posté le 28-09-2005 à 10:15:06
et comment vba saurait dans quelle table/champ inserer la case selectionee?
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
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.
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
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.
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.