IMPORTER UNE FEUILLE EXCEL VERS UNE TABLE ACCESS EXISTANTE

Messages postés
2
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
14 mars 2007
- - Dernière réponse : toufiqihaddou
Messages postés
38
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
23 juillet 2011
- 27 juin 2011 à 18:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41568-importer-une-feuille-excel-vers-une-table-access-existante

Afficher la suite 
endero7
Messages postés
2
Date d'inscription
mercredi 14 mars 2007
Statut
Membre
Dernière intervention
14 mars 2007
-
Nice code,
Thanks
Selune6666
Messages postés
59
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
14 janvier 2008
-
J'ai une légère question étant debutante en programmation ^^

J'ai une feuile excel dans laquelle je dois récupéré des données et donc inclure cela dans une table access.

J'ai fait un petit code me permettant d'ouvrir une boite de dialogue windows dans laquelle je sélectionne un fichier excel.Une fois que je valide le chemin,il l'affiche dans la textbox de mon formulaire.

Ce code prendra t'il compte qu'il doit enregistrer les champs de l'url situé dans la textbox?
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
oui en principe ça devrait marcher. enfin pas l'url (URL? c'est pour internet ça) mais le chemin C:\mes documents\excelfile.xls ça oui!
Selune6666
Messages postés
59
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
14 janvier 2008
-
oui oui le chemin l'url c pareil >_<'(réponse d'inculte je sais) merci je go test et modifier tous ça ^^
outofbusiness
Messages postés
36
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
4 juin 2009
-
question de débutant : tu tapes ce code dans access ou excel ??
d'après ce que j'ai compris, c'est dans excel, mais j'ai une erreur à cause du docmd :-~
comment tu utilises ta fonction importexcelveille dans une procédure ??

merci "beaucoup" d'avance pour ta réponse, car j'avance pas :-(
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
"raté" ;) c'est bien dans un module access qu'il faut tout mettre ce code. il faut aussi ajouter une référence à la librairie Excel (pour les objets worksheet etc) et avoir fait une table access (je l'ai appelée "veille" dans ce code). DoCmd est une commande Access
Si tu es débutant, désolé je crois que ce code manque un peu de commentaires "évidents" et pourtant y'en a pas mal des commentaires.
cs_LEXANE
Messages postés
9
Date d'inscription
lundi 11 juin 2007
Statut
Membre
Dernière intervention
12 janvier 2008
-
salut,
pour les besoins d'un projet de stage j'ai besoin d'enregister dans ma base access des données qui sont saisies dans des feuilles excel, mais étant donné que je ne connais visual basic que depuis 2 semaines je ne voit pas bien comment donc si une âme charitable a le temps de m'expliquer je lui serait très reconnaissant
merci
cs_carlos
Messages postés
4
Date d'inscription
jeudi 6 décembre 2001
Statut
Membre
Dernière intervention
14 juin 2007
-
Bonjour ma petite LEXANE

Je pense que tu peux le faire manuellement en important dans Fichier/Données externes/ tu choisies le format xls et ensuite je crois qu'il faut lier les tables que tu veux mettre à jour ... Moi aussi je dois faire ça j'ai commencé aujourd'ui je ne connais ni ACCESS ni VB enfin que de nom beinsur dès que j'ai la solution je t'en dirait plus.....*

peace (-_-)
myssia
Messages postés
5
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
23 juillet 2007
-
salut, comment dire je suis extrément null en vb..prog etc.
j'aimerais qu'on m'expik ttes les étapes...pour que le code fonctionne...cad implémentation du main..changement des paramètres...pour que ça fonctionne ! je vous fais un schéma sur mes compétences : ctrl C/ ctrl V :( . sinon j'y pige rien !
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
c'est pas une source pour débutant que j'ai fait la non plus... si tu n'en a pas besoin contente toi de ctrl C/ctrl V ça marche aussi :p et si tu a besoin d'aide commence par des trucs de ton niveau.
myssia
Messages postés
5
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
23 juillet 2007
-
ben fallait le dire ! si ton code est réservé rien qu'au geek !
j'ai ( j'avais) besoin de ce genre de code ! qq1 de moins ***** que toi a bien voulu m'a aidé! fo dire que chez toi coder c'est qq choz d'inné ! non?!
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
y'a Internet dans la cour de récré ?

merci de bien vouloir baisser d'un ton, et de soigner ta rédaction.
poses des questions portant sur des points précis du code, si tu veux que l'on puisse facilement te répondre...
si tu n'entends reelement rien a ce code - qui du reste est pas mal structuré, et gère les Case Else, etc. - regarde une autre source, plus adaptée à ton niveau, qui ne pourra alors que progresser.

J'ignore si tu cherches simplement a mettre en oeuvre ce code dans ton projet, ou si tu cherches a comprendre le code, juste pour "la forme"...

Renfield - Admin CS
myssia
Messages postés
5
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
23 juillet 2007
-
je voulais juste qu'on m'explique l'importation et non le code ( que j'ai compris ! et oui ça surprend lol.) et pas qu'on me dise d'allez voir ailleurs ""ici c'est le monde des gds"" :o
mais bon le réseau des codeurs est assez vaste et diversifiés donc maintenant ça va ! pour continuez cette conversation inutile envoyer un autre message
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
Désolé, Myssia, que tu ai mal pris mon message, (qui n'était pas aimable je le sais). Ce n'est pas inné chez moi, je ne suis pas geek, mais développeur de métier. Je veux bien répondre à des questions si tu comprend pas 1 point, mais pas "j'y comprend rien expliquez moi tout!" En même temps je suis pas professeur j'en serais pas capable.

Alors je suis bien content que tu ai compris quand même :) et que ma source te soit peut être utile :) et que finalement, tu es toi aussi entré dans "le monde des grands"! bon courage.
myssia
Messages postés
5
Date d'inscription
jeudi 14 juin 2007
Statut
Membre
Dernière intervention
23 juillet 2007
-
Tkt, je me suis laissée emporter on va dire. Certes je débute, mais j'apprends relativement vite donc ça va. Ton code m'a aidé et j'ai pu l'implémenter dans mon projet dc c cool. Bonne continuation
saberhec
Messages postés
8
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
8 février 2012
1 -
Salut tout le monde. Je te remercie monsieur Pifou pour ce code bien structuré. Néanmoins, j'ai suivi les étapes suivantes, il n' y avait pas de message d'erreur, mais la table "VEILLE" est restée vide après avoir terminé:
1 - J'ai créé une table "VEILLE"
2 - J'ai placé ce code dans un module "Module1"
3 - J'ai activé la référence Excel 11 Obj...
4 - J'ai créé une "Sub" qui fait référence à la première fonction ainsi:
Sub EssaiImport()
ImportExcelVeille ("C:\AAA.xls")
End Sub
5 - Lors de l'exécution, il n' y avait pas de message d'erreur mais la table est restée vide bien que j'ai bien placé des données sur le fichier "AAA.xls"
Je crois que j'ai une erreur quelque part et je compte sur votre maîtrise pour m'aider.
Merci encore une fois pour ce code bien utile.
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
aucun message d'erreur ?? difficile de faire un diagnostic dans ce cas :| ... y'a-t-il bien les entête de colonnes dans le fichier excel? sinon je ne vois pas.
saberhec
Messages postés
8
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
8 février 2012
1 -
Salut, J'ai veillé à exporter les données existantes de la même table (qui est ancienne renommé comme voulu) dans le fichier Excel spécifié. Ensuite, j'ai vidé la table. Enfin, j'ai lancé le module d'import.
Ceci étant, je veux dire que le fichier Excel contient des données compatibles avec les formats exigés par la table et que l'en-tête des colonnes existent à la première ligne du fichier Excel.
Merci pour l'intérêt que vous accordez à mon interrogation et j'espère qu'ainsi je suis arrivé à vous éclaircir un peu sur la situation. (Rq: j'utilise MS Office 2003).
cs_comiv
Messages postés
2
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
25 septembre 2007
-
Bonjour,
Tout d'abord bravo pour votre code qui est très bien commenté.
J'ai testé tout ça, et zut de flute, rien ne se passe.
Pas de message d'erreur, mais la table ne se rempli pas.
J'ai vu que la fonction GetExcelLine() retourne toujours FALSE, même que ma ligne n'est pas vide !!
Merci de m'avoir lue
A+
comiv
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
... il y a peut être des colonne masquées au début qui font que la fonction ne voit pas la suite(?) Je vois pas d'autres solutions :s Sinon essaye de mettre un point d'arrêt sur la fonction et voir ce qui se passe précisément.
cs_comiv
Messages postés
2
Date d'inscription
lundi 24 septembre 2007
Statut
Membre
Dernière intervention
25 septembre 2007
-
Bonjour,
D'avance merci pour votre réponse.

En fait j'ai changé le test dans GetExcelLine. A la place de
GetExcelLine = (i - CptEmptyCells > 5)
J'ai codé :
GetExcelLine = (i - CptEmptyCells > 0)
Et de c'est bon.
Ensuite, j'ai des problèmes dans RetrouverChampsExcel(), mais je continue d'investiger.

Bonne journée et bon codage.
Salutations
comiv
kaltek
Messages postés
2
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
3 juin 2008
-
Bonjour

Ce topic date un peut mais je tente ma chance.
Tout d'abord je souhaite remercier Pifou25 pour son programme car c'est exactement ce dont j'ai besoin. Maintenant il faut le faire fonctionner.

J'ai donc ajouté la bibliothèque d'Excel dans Access 9.
J'ai créer la table Veille.
J'ai copier le programme dans Module1.
J'ai créer un SUB

Sub ImportExcel()
ImportExcelVeille ("C:Bureau\essai.xls")
End Sub

Je n'ai pas toucher au programme d'origine.
J'exécute le programme et voici l'erreur :
ERROR 457 (cette clé est déjà associée à un élément de cette collection) IN FUNCTION ImportExcelVeille of Module mdImportExcel


Merci de me donner un coup de main.
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
bonjour,
il y a peut être dans le fichier Excel plusieurs colonnes qui ont le même nom...
ou bien dans la table veille de Access, même cause même effet...
kaltek
Messages postés
2
Date d'inscription
jeudi 22 mai 2008
Statut
Membre
Dernière intervention
3 juin 2008
-
Salut, merci de m'apporter ton aide.

En effet mon tableau Excel contenait deux fois le même champs.
Je n'ai plus ce message d'erreur mais celui-ci :
ERROR 3265 (Element non trouver dans cette collection) IN Function
FN_INSERT of module mysql.
Le programme a copier 14 lignes sur les 17.
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
... (mySQL ??)

chai pas, du coup, si ça a marché pour 14 lignes il doit y avoir un caractère incompatible sur la 15e ligne qui le fait planter... :/ apostrophe, antislash, crochets...
peanut38
Messages postés
30
Date d'inscription
samedi 18 mars 2006
Statut
Membre
Dernière intervention
28 octobre 2008
-
Bonjour

et merci pour ce code!

Je ne suis pas non plus experte en vb et je ne parviens pas à mettre en application cette source.
Voici mon erreur :
"Error 9 (L'indice n'appartient pas à la sélection.) in Function ImportExcelREFHD of Module mdImportExcel"

Ma table Access s'appelle REFHD (sql). Mon fichier se trouve sur un lecteur réseau.
Je fais appel à la fonction en cliquant sur un bouton :

Private Sub Commande100_Click()
ImportExcelREFHD ("O:\importexcelREFHD.xls")
End Sub

Le premier champ de mon tableau est une clé primaire.

Quelqu'un a-t-il une idée ?

Merci d'avance !
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
bonjour,
cette fonction (ImportExcelRefhd) c'est toi qui l'a créée, on n'a pas le code on aura du mal à t'aider... demande plutot sur le forum ;)
bercof
Messages postés
1
Date d'inscription
mardi 10 août 2004
Statut
Membre
Dernière intervention
7 février 2009
-
salut tout le monde
j ai besoin d un code qui mé le contrair un code qui exporte un requette acces vers un fichier excel
si c possible j aim bien recevoir ce code sur ma boite palermo01@hotmail.fr
et merci d avance
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
Salut Bercof, j'ai exactement ce qu'il te faut c'est une autre de mes (nombreuses!) sources, ici
http://www.vbfrance.com/codes/ACCESS-VBA-EXPORTER-SQL-VERS-FICHIER-PLAT-CSV_41481.aspx
le principe est simple, une fonction qui exporte ta requête access en fichier csv (donc que tu pourra ouvrir avec Excel)
Function ExportCsv(SQL As String, File_name As String, Optional ByVal sep As String ";", Optional ByVal Quote As String "", Optional ByVal WithFields As Boolean = False) As Boolean

ça dit tout: ExportCsv('ta_requete', 'c:/documents/tonfichier.csv')
le tour est joué ;)
msz1704
Messages postés
6
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
29 juillet 2009
-
Bonjour,

Autre solution plus facile: :~)

http://www.vbfrance.com/tutoriaux/IMPORT-FEUIL-EXCEL-DANS-TABLE-ACCESS_638.aspx

Merci beaucoup taikibaybay et Pifou25 aussi!
cs_bigounet
Messages postés
1
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
7 octobre 2010
-
Bien le bonjour à tous. j'ai copié la code que j'ai inséré dans un module. Ensuite, sur le bouton qui me sert de commande, j'ai mis
stDocName = "Fm_NOUVEAU.import"
DoCmd.RunMacro stDocName

et dans ma macro : runcode ImportExcelVeille («Filename»). Mais bien sur, cela ne fonctionne pas. J'ai remplacé le "filename" par le chemin d'accès et le nom de mon fichier excell.
Je dois avoir oublié quelque chose mais je ne sais pas quoi.
En vous remerciant
pifou25
Messages postés
150
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
21 décembre 2014
-
salut,
version d'excel?
message d'erreur?
symptomes?
c'est grave docteur?
toufiqihaddou
Messages postés
38
Date d'inscription
jeudi 13 janvier 2011
Statut
Membre
Dernière intervention
23 juillet 2011
-
Salut PIFOU25;

SVP; je veux utuliser ces fonctions; mais je ne sais pas quoi mettre dans :

SysCmd acSysCmdSetStatus, "Importation..."

car il me donne error 9 .....in Function ImportExcelVeille of Module mdImportExcel

on mit la plage "Feuil1!A1:F50"

svp c urgent