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

cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention - 18 août 2005 à 11:26 - Dernière réponse : cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention
- 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.
Afficher la suite 

5 réponses

mad_kad 23 Messages postés mercredi 9 février 2005Date d'inscription 22 août 2005 Dernière intervention - 18 août 2005 à 11:35
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Ninette08 56 Messages postés mardi 16 août 2005Date d'inscription 14 septembre 2005 Dernière intervention - 18 août 2005 à 13:25
0
Utile
doCmd.TransfertSpreadSheet acImport,,"Table Access","C:\toto.xls",0

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

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

Ninette
cokinoumasterflash 62 Messages postés jeudi 16 juin 2005Date d'inscription 19 août 2005 Dernière intervention - 19 août 2005 à 13:15
0
Utile
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.