VBA ACCESS récupérer données dans un .txt
Résolu/Fermé
A voir également:
- VBA ACCESS récupérer données dans un .txt
- Recuperer message whatsapp supprimé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer video youtube - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Récupérer mon compte facebook désactivé - Guide
3 réponses
Bonjour,
Si j'ai bien compris ton problème, cette procédure devrait t'aider
Si j'ai bien compris ton problème, cette procédure devrait t'aider
Sub Collecter_Donnees() Dim strLigne As String Dim Repertoire, NomFichierTxt_Out, NomFichierTxt_Inp, NomFichierTxt_Dat Repertoire = "C:\Documents and Settings\chemin\" 'Repertoire de travail NomFichierTxt_Out = Repertoire & "Resultat2.csv" 'Fichier à créer NomFichierTxt_Inp = Repertoire & "Resultat.csv" 'Fichier avec les Noms des Fichiers txt Close 'Fermer tous les fichiers Open NomFichierTxt_Out For Output As #1 'création du fichier Resultat2.csv Open NomFichierTxt_Inp For Input As #2 'lecture du fichier Resultat.csv While Not EOF(2) Line Input #2, strLigne 'Lecture de la ligne NomFichierTxt_Dat = Repertoire & strLigne 'Nom du fichier de données Open NomFichierTxt_Dat For Input As #3 'Lecture du fichier de données While Not EOF(3) Line Input #3, strLigne 'Lecture ligne de donnée Print #1, strLigne 'Transfert dans le fichier Resultat2.csv Wend Close #3 'Fermer Fichier de données Wend Close 'Fermer tous les fichiers End Sub
Bonjour Yoda,
Je pense que tu as compris ce que je voulais mais malheureusement, ton code ne créé pas le fichier Resultat.csv, j' ai une erreur 53 - fichier introuvable sur la ligne :
S'en ca si je créé moi même le fichier resultat.csv je n'ai plus d'erreur mais mes 2 fichiers resultat sont vides !
Je pense que tu as compris ce que je voulais mais malheureusement, ton code ne créé pas le fichier Resultat.csv, j' ai une erreur 53 - fichier introuvable sur la ligne :
Open NomFichierTxt_Inp For Input As #2 'lecture du fichier Resultat.csv
S'en ca si je créé moi même le fichier resultat.csv je n'ai plus d'erreur mais mes 2 fichiers resultat sont vides !
Bonjour,
Fichier intouvable, c'est qu'il n'existe pas ou alors il n'est pas dans le répertoire indiqué
Le fichier "Resultat.csv" est bien celui que tu as déjà créé et qui contient la liste des fichiers txt à fusionner?
Vérifie la valeur de Repertoire et NomFichierTxt_Inp
rajoute ça:
'....
NomFichierTxt_Inp = Repertoire & "Resultat.csv" 'Fichier avec les Noms des Fichiers txt
MsgBox NomFichierTxt_Inp
Exit Sub
Close 'Fermer tous les fichiers
Quand tu auras réglé le problème mets ces deux lignes en commentaire
Ouvrir avec Bloc Notes le fichier Resultat.csv et regardes s'il contient bien les noms des fichiers txt à fusionner.
Fichier intouvable, c'est qu'il n'existe pas ou alors il n'est pas dans le répertoire indiqué
Le fichier "Resultat.csv" est bien celui que tu as déjà créé et qui contient la liste des fichiers txt à fusionner?
Vérifie la valeur de Repertoire et NomFichierTxt_Inp
rajoute ça:
'....
NomFichierTxt_Inp = Repertoire & "Resultat.csv" 'Fichier avec les Noms des Fichiers txt
MsgBox NomFichierTxt_Inp
Exit Sub
Close 'Fermer tous les fichiers
Quand tu auras réglé le problème mets ces deux lignes en commentaire
Ouvrir avec Bloc Notes le fichier Resultat.csv et regardes s'il contient bien les noms des fichiers txt à fusionner.
Re,
D'abord merci encore pour ton aide Yoda.
On se rapproche du but final ! mais c'est pas tout a fait.
Effectivement ton code etait correcte c'est moi qui n'ai pas verifier que mon fichier Resultat.csv contenait bien la liste.
A présent c'est le cas, je récupère bien le contenu de tout mes fichiers txt, seul souci c'est que les données se mettent dans une seul colonne du fichier Resultat2.csv ! alors que moi je souhaiterais que le 1er fichier soit mis dans la colonne 1, le fichier 2 va dans la colonne 2, et ainsi de suite....
S'en ca j'avais réussi a avoir le meme resultat que toi, mais mon code était différent, voici ce que j'avais mis (au cas ou) :
Ah oui j'oubliais, autre différence du code, c'est que la, les données etaient mise directement dans une table.
Mais bon si déjà j'arrive à créer mon fichier resultat2.csv avec un fichier par colonne cela sera deja formidable !
D'abord merci encore pour ton aide Yoda.
On se rapproche du but final ! mais c'est pas tout a fait.
Effectivement ton code etait correcte c'est moi qui n'ai pas verifier que mon fichier Resultat.csv contenait bien la liste.
A présent c'est le cas, je récupère bien le contenu de tout mes fichiers txt, seul souci c'est que les données se mettent dans une seul colonne du fichier Resultat2.csv ! alors que moi je souhaiterais que le 1er fichier soit mis dans la colonne 1, le fichier 2 va dans la colonne 2, et ainsi de suite....
S'en ca j'avais réussi a avoir le meme resultat que toi, mais mon code était différent, voici ce que j'avais mis (au cas ou) :
Dim Fic As String Fic = Dir("C:\chemin_du_dossier\*.txt") Do While Fic <> "" DoCmd.TransferText acImportDelim, , "group_user", "C:\chemin_du_dossier" & Fic Fic = Dir Loop
Ah oui j'oubliais, autre différence du code, c'est que la, les données etaient mise directement dans une table.
Mais bon si déjà j'arrive à créer mon fichier resultat2.csv avec un fichier par colonne cela sera deja formidable !
Aïe, ça se complique.
Pour faire ça dans un fichier, il faut lire tous les txt, les mettre en tableau, et tout retranscrire ligne par ligne.
Est-ce que tous les fichiers ont le même nombre le lignes? Combien de lignes? Seulement du texte ou aussi des nombres?
Combien de fichiers txt (conbien de colonnes)?
Tu pourrais faire plus simple en important chaque fichier txt dans une table différente.
Ou encore partir d'une table vide et ajouter un champ pour chaque fichier txt à importer.
A+.
Pour faire ça dans un fichier, il faut lire tous les txt, les mettre en tableau, et tout retranscrire ligne par ligne.
Est-ce que tous les fichiers ont le même nombre le lignes? Combien de lignes? Seulement du texte ou aussi des nombres?
Combien de fichiers txt (conbien de colonnes)?
Tu pourrais faire plus simple en important chaque fichier txt dans une table différente.
Ou encore partir d'une table vide et ajouter un champ pour chaque fichier txt à importer.
A+.
Ils n'ont pas tous le meme nombre de lignes, c'est aléatoire ! Au maximum y'a pas plus de 50 lignes dans les fichiers et certains sont vides.
Les lignes des fichiers txt sont comme ceux-ci :
- "CN=FR03949,OU=?????,DC=??????,DC=?????,DC=fr"
- "CN=FR03852OU=?????,DC=??????,DC=?????,DC=fr"
- "CN=FR03759,OU=?????,DC=??????,DC=?????,DC=fr"
Ensuite je selectionne toute la feuille et je remplace ca : ,OU=?????,DC=??????,DC=?????,DC=fr" par rien et idem pour ca : "CN=
Donc de la il ne reste plus que mon code utilisateur, car c'est ce code que je doit récuperer.
Il y a 131 fichiers txt dans mon répertoire.
Les lignes des fichiers txt sont comme ceux-ci :
- "CN=FR03949,OU=?????,DC=??????,DC=?????,DC=fr"
- "CN=FR03852OU=?????,DC=??????,DC=?????,DC=fr"
- "CN=FR03759,OU=?????,DC=??????,DC=?????,DC=fr"
Ensuite je selectionne toute la feuille et je remplace ca : ,OU=?????,DC=??????,DC=?????,DC=fr" par rien et idem pour ca : "CN=
Donc de la il ne reste plus que mon code utilisateur, car c'est ce code que je doit récuperer.
Il y a 131 fichiers txt dans mon répertoire.