en gros ce que tu me dit de faire c’est : X = Path + “ipms_icxs_pves_epms_iens_ha”
C ca??
en gros ce que tu me dit de faire c’est : X = Path + “ipms_icxs_pves_epms_iens_ha”
C ca??
Non, il ne faut pas utiliser Path puisqu’il n’a pas la bonne valeur.
Il faut taper le chemin en dur (enfin, si tu es sûr qu’il ne bouge pas)
X = “X:\Comptes Utilisateurs\stagebeluc\Loïc” + X
C’est ce que j’essayais de faire comprendre 10 messages plus tôt :icon_biggrin:
donc, j’ai fais ce que tu ma di et maintenant ca m’importe 2 tables CAD 1 qui porte le nom suivant : ipms_icxs_pves_epms_iens_ha_ImportErrors et la deuxiéme porte le nom : ipms_icxs_pves_epms_iens_ha
mais le problème c’est que les 2 contienne des erreurs!!
je te remet le code cela va t’ête nousaider à comprendre le problème.
While X <> “”
X = "X:\Comptes Utilisateurs\stagebeluc\Loïc\" + X
DoCmd.TransferText acImportDelim, Texte, "ipms_icxs_pves_epms_iens_ha", X, True
X = Dir()
Wend
Edité le 21/06/2007 à 10:01
je vais essayé de trouver pourquoi mais si vous avez une idée, faite moi signe!!
Que l’import contienne des erreurs, je dirais que c’est presque normal la première fois.
Maintenant, il faut que tu ajustes les valeurs de ton filtre d’importation (celui que tu as sauvé dans ta base sous le nom Texte) jusqu’à ce que tu n’aies plus d’erreur
c’est à dire?? désolé gcc mais je n’est pas tout compris!!peus-tu s’il te plais me rexpliquer cela??
Ca s’est un peu trop compliqué pour l’expliquer à distance. Ca fait partie du noyau dur de la formation.
Quand on importe un fichier texte, il faut définir manuellement les champs (nom, type, largeur), les séparateurs, les lignes à ignorer etc.
Et comme il faut le faire à chaque fois, heureusement, ça peut se sauvegarder.
C’est le nom de cette sauvegarde que tu indiques dans la commande DoCmd là où tu as écrit “Texte”
Reprends le manuel Access (pas VBA) et regarde le mode opératoire pour l’importation des fichiers texte.
Et seulement quand tu auras assimilé cette partie, tu pourras te repencher sur la programmation.
Je ne comprends d’ailleurs pas comment tu as pu te lancer dans ton programme sans en être passé par là.
Tu n’as pas l’impression par moment de jouer les apprentis sorciers ?
ok, je sait quand il faut importer ce que l’on nous demande (taille, type…) mais je voit pas comment on peut le faire par VBA??
ben non je ne suis pas un apprentis sorcier mais je suis un stagiaire donc je suis sur le tas pour apprendre il me semble!!lol.
Le problème, c’est que quand tu utilises DoCmd, tu ne fais plus du VBA, tu demandes à VBA de faire de l’Access.
Donc il faut que tu connaisses un minimum comment fonctionne access.
Et là, deux solutions
c’est plus la première solution c’est à dire qu’il le fait d’habitude manuellemen mais il perd un temps fou c’est pour cela qu’il me demande de faire un formulaire avec de la programmation derrière pour réaliser ce qu’il fait manuellement!!
je sait à quoi consiste un stage, arrête de me prendre pour un attardé ke même!!LOL.MDR.
en gros tu veux plus m’aider, C ca que tu veux me dire??!!??
Non, pas du tout. Simplement que personne ne peut faire le travail à ta place. La seule chose qu’on peut faire, c’est t’aider à passer les ‘points durs’
Surtout que tu le dis toi même “il le fait d’habitude manuellement”, donc ce n’est pas la peine de tout réinventer.
Refaites le point ensemble, et tu verras que ça te donnera rapidement la marche à suivre ; ou du moins une piste facile à suivre
non mais je les fait manuellemen aussi pour vraiment comprendre ce qu’il veu mais le problème c’est que je ne sait pas comment le traduire sous VBA(je cherche mais je trouve pas).
Donc si tu sais faire manuellement, c’est plus facile.
Quand tu fais manuellement, tu décris les champs à importer.
Quand tu es dans l’écran “Avancé”, tu as une option “Enregistrer sous” qui te permet de sauver ton masque et de ne pas le retaper à chaque fois.
C’est le nom de cette sauvegarde qu’il faut que tu mettes dans ton DoCmd à la place de “Texte”
donc, j’ai remplacé texte par le nom de la spécification qui était : “Ipms_icxs_pves_epms_iens_ha Spécification d’importation” mais j’ai donc toujours la table d’erreur et la table se nommant : “Ipms_icxs_pves_epms_iens_ha” à plusieurs champ maintenant mais je crois qu’il me manke des renseignement à l’intérieur c’est à dire que certain code_article ny sont pas affiché par exemple.
Ca veut dire que dans le fichier d’origine, ils doivent avoir un format incompatible avec ce que tu as déclaré dans ton masque.
Qu’est-ce qui se passe quand tu fais l’import manuel, tu les retrouves dans ta table ?
NB : dans ta table erreur, tu dois avoir le numero de ligne du fichier source qui a été rejetée
dans la table erreur il y a 3 champ qui sont : “Error” --> il y a écri plein de “Type Conversion Failure” ; le deuxième champ “Field” avec soit écri “CODE_NATURE” ou “COEFF_UM_VERS_UV” ou “POIDS_NET_KG_UM”. le troisième champ “Row” donc des chiffres.
jvien de le refaire manuellement et il n’y a aucun souci, il y a tout les code_Articles… , elles sont complètes!!
Quand tu fais ton importation manuelle de vérification, il faut faire
Fichier > Données Externes > Importer >
puis Avancé > Parametres > <le nom de ton masque d’import> (normalement il n’y en a qu’une, et qui s’appelle “Ipms_icxs_pves_epms_iens_ha Spécification d’importation” d’après ce que tu as mis plus haut).
Tu valides, et tu regardes dans “informations sur le champ” si c’est correct.
Sinon tu corriges et tu réenregistres 'Enregistrer sous"
Quand tu es sûr de tes champs, tu importes;
Tu recommences jusqu’à ce que tu n’aies plus d’erreur
ok, merci, donc maintenant ca fonctionne que ce soit manuellemen et automatiquement.
Par contre pour les autres fichiers, je dois juste rajouter des commande transfertext + créer la spécification, et normalemen tout roulera??
Oui, il suffit de les enchaîner.
Si les structures sont identiques, tu peux utiliser une spécif commune, sinon tu en crées une pour chaque
ok, merci beaucoup pour tes renseignements!!normalement c’est bon mais si j’ai besoin te tien au courant!!merci encore!!