[VBA] Conserver l'ordre du fichier excel lors de l'importation vers une table AC

Résolu
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 18 août 2005 à 11:26
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 - 19 août 2005 à 13:15
Bonjour,



Je rencontre un petit bug lors de l'importation d'un fichier excel vers ma base de données ACCESS.

Mon fichier excel ne contient qu'une colonne. Cette colonne est triée
dans un ordre bien précis et je souhaite le conserver lors de
l'importation dans ma table (qui est vide). Je lis donc ma feuille
excel à partir de la première ligne et j'insère au fur et à mesure dans
ma table.



Mon code :



For i = 1 To (m + 1)

Worksheets("Feuil1").Select

nom = "'" & xl.Cells(i, 1).Value & "'"

DoCmd.SetWarnings False

MySQL = "INSERT INTO Listeexport([taxon])"

MySQL = MySQL + " VALUES(" & nom & ")"

DoCmd.RunSQL MySQL

DoCmd.SetWarnings True

Next





Le problème c'est que lorsque j'importe ma colonne les élements sont
bien à la suite les uns des autres dans le bon ordre seulement le point
de départ est aléatoire.

Je m'explique :



si dans ma feuille excel j'ai les éléments: a b c

je vais obtenir dans ma table l'ordre : b c a ou bien c a b .....



Pourtant ma boucle débute bien à la première ligne de la feuille excel.

Sur mes nombreux essais je n'ai réussi à obtenir qu'une seule fois la table correcte sans modifier mon code.



Et sinon j'en profite pour poser une autre petite question : Est-il
possible d'insérer un élément dans une table à une ligne bien précise ?



Comment faire pour corriger ce problème ?

Merci,

Seb.

5 réponses

mad_kad Messages postés 23 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 22 août 2005
18 août 2005 à 11:35
Moi j'ai une meilleur solution. Tu as cas créer une macro Transfertbasededonnée puis de bien configurer ta macro en indiquant la destination de ton fichier excel et le nom de la table de reception.
3
Ninette08 Messages postés 56 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 14 septembre 2005
18 août 2005 à 13:25
doCmd.TransfertSpreadSheet acImport,,"Table Access","C:\toto.xls",0

Ninette
0
Ninette08 Messages postés 56 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 14 septembre 2005
18 août 2005 à 13:25
doCmd.TransfertSpreadSheet acImport,,"Table Access","C:\toto.xls",0

Ninette
0
Ninette08 Messages postés 56 Date d'inscription mardi 16 août 2005 Statut Membre Dernière intervention 14 septembre 2005
18 août 2005 à 13:26
doCmd.TransfertSpreadSheet acImport,,"Table Access","C:\toto.xls",0

Ninette
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cokinoumasterflash Messages postés 62 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 19 août 2005 7
19 août 2005 à 13:15
Bonjour,



Merci pour vos réponses. Désolé de répondre si tard j'ai eu des
problèmes de connexion. Finlament j'ai gardé la première solution à
savoir de passer par une macro. C'est ce qui marche le mieux pour le
moment.



A plus,

Seb.
0
Rejoignez-nous