|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 22 ![]() |
Bonjour,
Je viens ici pour chercher une piste concernant un petit quelque chose que je souhaite faire. Cela concerne beaucoup de trucs à la fois, Excel, Access et VB, alors je ne savais pas trop ou le poster. J'ai plusieurs fichiers excels qui donnent chacun des informations sur un objet particulier (mettons un étudiant). J'ai une base de données avec plusieurs tables concernant cet étudiant (mettons ses info perso pour l'une, ses notes de chaque matière pour l'autre). Je cherche à avoir un truc qui importe tout seul les infos de chaque fichier excel vers access. Savez-vous comment je peux procéder ? Je vous remercie. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
Question récurrente, à la fois simple et vague. Le passage d'Excel à Access peut se faire de différentes manières, mais pour cela il faut donner plus de détails : Veux-tu partir d'Access ou d'Excel ? Est-ce que toutes les données doivent être importées ou une certaines quantité ? As-tu pensé aux fichiers Excel liés dans ta base Access et l'utilisation de requêtes d'ajout ? Pourquoi toutes ces questions (et il en manque) ? Il est important de comprendre que lorsque l'on pose une question sur un forum il faut détailler ce que l'on souhaite, sinon on part dans des interminables discussions et celles-ci deviennent confuses et inutiles. ![]() Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Philippe ex Observeur CGG / Analyste prog. Inscription : juin 2006 Messages : 1 699 ![]() |
Salut,effectivement cela demanderait qqs eclaircissements, sinon commencer par http://access.developpez.com/faq/?pa...l#ImpFichExcel ? et les FAQ attenantes
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )Balisez votre code après l'avoir indenté sous Excel via Smart Indenter Autre utilitaire : MZ Tools 3.0 VBA Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2 |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 22 ![]() |
Mh, je vois. Merci pour le lien déjà
Alors, comment mieux expliquer ça ? Déjà, je veux passer de Excel à Access. J'explique la démarche sur un exemple : J'ai un fichier Excel type contenant plein de champs de données à remplir concernant un étudiant mettons (une partie contient les info perso, une autre les notes). J'envoie ce fichier type à tous les étudiants d'une classe. Plusieurs personnes vont me renvoyer ces fichiers remplis, au fur et à mesure du temps. J'en aurai donc souvent 5 en même temps voire plus. Je veux maintenant que pour chaque fichier, une ligne dans access soit créée contenant les info du fichier excel. Mais sans toucher au fichier excel, puisque sinon il faudrait le faire à chaque fois. Une table dans access est dédiée à chaque "groupe" de réponses : une table info perso, une table notes ... et les champs correspondants doivent être remplis en fonction des champs excel. Je vous le met en algorithme informel :-D Pour tous les fichiers excel Ouvrir le fichier excel Pour toutes les tables base de données Access ("info perso","notes",...) Pour tous les champs de la table courante Access Lire l'information dans le champ correspondant du fichier excel Passer au champ suivant Passer à la table suivante Fermer le fichier excel Passer au prochain fichier excel Voila, et donc ben je ne sais qu'utiliser, une appli complète en VB ou je sélectionne toutes les feuilles excel d'un coup et elles sont traitées ? Un script interne à Access ? Je vous avoue que la je suis perdu. Est-ce que c'est plus clair ? |
|
|
00
|
|
|
#5 |
|
Membre éprouvé
![]() Duc Nihiliste Inscription : mars 2011 Messages : 395 ![]() |
Bonjour,
Perso, au vue de ce que tu expliques voilà comment je procéderai : - Tous tes fichiers Excel ont la même structure, je ferai donc un simple bouton d'import depuis ma base Access avec un OpenDialog pour aller sélectionner l'emplacement et le fichier à importer dans une table tampon, disons "T01_Import data". - Création de requête(s) suppression (pour supprimer les infos inutiles) puis d'une requête ajout dans une "T02_Master table" dans laquelle tu auras la totalité de tes infos avec tous tes champs. - De là, création de x requêtes ajout dans x tables => infos administratives, notes, etc... - N'oublie pas de créer pour chaque étape des requêtes qui te serviront de verrous, qui par exemple t'assurent que tu n'as pas perdu d'infos en route. En conclusion, tout est gérable directement depuis Access, et de plus sans obligation de devoir passer par une tartine de code (d'après ce que tu décris, uniquement pour l'import des fichiers Excel dans la BDD).
__________________
Cordialement, Runsh |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2011 Messages : 22 ![]() |
Okay je vois ce que tu veux dire. Alors donc dans son principe je comprends comment tu vois la solution.
Par contre en pratique, je ne sais pas du tout comment on fait par exemple un "OpenDialog" ... en fait je sais un peu faire de VB. Mais le lien entre Access et le VB je vois pas du tout ... Et comment je sais quelles cases ont les bonnes infos ? Sur excel ma colonne B contient les noms des infos, et la colonne C les infos en question ... La structure est presque la même, certaines lignes sont présentes dans certains fichiers et parfois non si l'élève prend une matière non obligatoire par exemple). Au début j'avoue que je pensais faire ceci : Rechercher dans le tableau excel chaque nom de ligne de la colonne B (qui correspond à l'en-tête de la table Access et mettre le contenu de la ligne C dans la case valeur correspondante. Et ce pour toutes les lignes du fichier excel. Si la ligne de la colonne B contient "XXXX" alors mettre son contenu dans la case du tableau tampon. Alors ... hum qu'en penses-tu ? Parce que avec ta méthode je comprends pas comment tu sais dans quelle case du tableau mettre quelle donnée ? Et heu ... petit détail ... j'ai besoin que Toutes les feuilles excel soient traitées à la chaine, si j'en ai 10 qui arrivent en même temps ça va. Pour une école de 100 voire un lycée de 1000 personnes c'est plus costaud ... c'est possible ca ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com