Intégration de fichier texte dans Access en VBA

Intégration de fichier texte dans Access en VBA - VB/VBA/VBS - Programmation

Marsh Posté le 30-08-2007 à 09:23:01    

Bonjour,
 
Je débute complètement en VBA pour ACCESS. :cry:  
Je cherche à intégrer des fichiers textes dans Access via une macro. Chaque fichier texte doit être une nouvelle table.  
1) Ma première dfficulté c'est de rédiger le code qui permet à l'utilisateur d'aller chercher le fichier texte en fouillant sur le PC via une boite de dialogue et j'aimerai qu'il puisse chercher sur tout son pc. J'ai regardé dans des cours et forums et je n'ai pas compris l'utilisation des FSO.
2) MA deuxième difficulté est la mise en forme des fichiers avant intégration dans la table access. J'ai vu que je peux enregistrer une mise en forme réutilisable lorsqu'on travaille manuellement où on précise le séparateur de champs et les champs à sauter, ça ca va le faire. Ou c'est plus dur c'est de préciser que la première ligne du fichier texte correspond aux entètes de colonnes et dernièrement préciser que je ne veux pas de clés primaires.
 
Si vous connaissez des endroits où je peux trouver des cours assez simples à ces sujets je suis preneur parce que là je rame :??:  où des endroits où il y ades bouts de codes (sachant que j'en ai trouve mais avec mes connaissances pointues comme un bout rond c'est la galère!!!!)
 
Merki d'avance!!!! :hello:


---------------
Guigui
Reply

Marsh Posté le 30-08-2007 à 09:23:01   

Reply

Marsh Posté le 30-08-2007 à 10:27:51    

SNIF SNOUF personne me répond!
 

Reply

Marsh Posté le 30-08-2007 à 10:37:55    

C'est pas une question de trouver des cours sur les sujets dont tu parles.
Les FSO sont abordés à de très nombreuses reprises sur les sites parlant de VB/VBA ainsi que sur ce forum : il suffit de lire et de recopier. Je ne vois pas où est ton problème.
Au moins donne nous le code que tu utilises et détaille ce que tu ne comprends pas.
Pour l'importation de données MS Access, lire l'aide en ligne suffit (DoCmd.TransferText...).

Reply

Marsh Posté le 30-08-2007 à 11:08:41    

Ben tu vois par exemple j'ai recupere ce bout de code la:
Sub essai()
Dim FSO As Scripting.FileSystemObject
Dim Drv As Scripting.Drive
'Instanciation du FSO
Set FSO = New Scripting.FileSystemObject
'Instanciation d'un objet drive correspondant au disque C
If FSO.DriveExists("C" ) Then
    Set Drv = FSO.GetDrive("C" )
Else
    MsgBox "Ce disque n'existe pas"
End If
End sub
Dans visual basic editor, dès que je lance ce code ca plante sur la première ligne;"FSO As Scripting.FileSystemObject" en me disant "type non defini par l'utilisateur. Et moi j'ai compris ce code te permet de chercher un fichier sur ton disque, mais paut être que des ce stade je me plante.
Alors tu peux me dire si je suis une grosse chevre et que je pars deja sur une mauvaise piste

Reply

Marsh Posté le 30-08-2007 à 11:41:43    

Déjà j'ai une piste du pouquoi cette commande ne marche pas : FSO n'est pas actif par défaut en VBA application!! Moi je crée mon code dans un module mais pour activer le FSO il faut aller dans le menu "Projet" puis "referénce". Le problème c'est que je n'ai pas ce menu projet à l'écran. Que puis-je faire?
 
Merci du coup de main! PArce que là on peut pas dire que mon programme avance bien vite!!

Reply

Marsh Posté le 30-08-2007 à 13:16:50    

Décidément il va vraiment falloir faire quelque chose pour expliquer la différence entre VB, VBA et VBS.
Tu ne trouves pas le menu « Projet » car c'est un menu de l'IDE de VB6 (l'interface de développement).
Or VBA n'est PAS VB6 (même si...) et il te faut aller dans le Visual Basic Editor (ALT+F11) de ton application (Excel, Word, PowerPoint, Outlook, ou que sais-je encore) et dans le menu Outils, puis Références.
Là tu pourras ajouter la référence à « Microsoft Scripting Runtime » (si j'ai bien compris ce que tu cherches).

 


Message édité par tegu le 30-08-2007 à 13:17:10
Reply

Marsh Posté le 30-08-2007 à 14:06:34    

Exactement ce que je cherchais merci! Maintenant va falloir que je fasse marcher le code!
 
Merci!
Je risque de revenir quand même!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed