Import d'un fichier texte dans une page d'un classeur
Atraxor
Messages postés20Date d'inscriptionlundi 29 août 2011StatutMembreDernière intervention 5 décembre 2011
-
29 août 2011 à 13:19
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
30 août 2011 à 11:22
Bonjour.
Afin de traiter des données qui me sont fournies au format .txt, j'aurais besoin d'automatiser une procédure permettant :
[list]
[*] Par le click sur un optionbutton, d'ouvrir le navigateur de fichier pour récupérer un fichier texte.
[*] D'utiliser les virgules comme séparateur pour ce fichier
[*] D'importer la totalité du contenu de ce fichier au sein d'une sheet déjà existante de mon classeur de traitement.
/list
Si certains d'entre vous entrevoient une solution pas trop complexe, je serais ravi de l'entendre
En vous remerciant.
A voir également:
Import d'un fichier texte dans une page d'un classeur
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 août 2011 à 13:49
Salut
Si ton fichier texte est au format CSV (Comma Separated Values), pas de souci : Tu n'as qu'à enregistrer une macro pendant que tu fais l'ouverture à la main, tu auras le code tout fait.
Sinon, explique ta difficulté.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 août 2011 à 13:50
PS : Tu ne pourras pas importer dans une feuille mais dans un nouveau classeur.
Ce n'est pas grave, il te suffira d'automatiser le transfert des données de ce nouveau classeur vers ta feuille existante ensuite.
Atraxor
Messages postés20Date d'inscriptionlundi 29 août 2011StatutMembreDernière intervention 5 décembre 2011 29 août 2011 à 13:59
Justement je souhaite éviter d'avoir à ouvrir les fichiers textes à la main : j'en ai pas mal à traiter successivement.
Actuellement cela m'ouvre un nouveau classeur pour mon fichier texte importé en excel : je souhaiterais en gros récupérer les données de ce classeur pour les copier dans une feuille d'un autre classeur, puis fermer le classeur d'où j'ai récupéré ces données qui ne lme sert plus à rien.
Cela dit mon premier problème est de trouver le control qui me permettent d'ouvrir un fichier à partir de l'appui sur un option button.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 août 2011 à 19:50
Oui, c'est bien ce dont je parlais.
Une fois que tu auras le code généré par l'enregistreur de macro, il ne te restera qu'à paramétrer les saisies que tu as fait pendant l'enregistrement, par exemple l'emplacement et le nom du fichier.
Une fois importées, tu as un classeur.
Sauve-le/Donne lui un nom.
Quant à la recopie des données, là aussi l'enregistreur de macro te fournira le nécessaire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Atraxor
Messages postés20Date d'inscriptionlundi 29 août 2011StatutMembreDernière intervention 5 décembre 2011 30 août 2011 à 08:45
Je ne pense pas que ça soit simple au point que je puisse directement passer par l'enregisterue de macro.
D'une part le fichier à importer n'a pas toujours le même nom, il faut donc que 'jouvre un controle spécifique poru récupérer ce nom de fichier (mais du coup je ne me souviens plus de quel contrôle il s'agit)
Ensuite mon fichier étant volumineux, il me sort une erreur "Trop de caractères de continuité de ligne" lorsque j'enregistre l'import de ce fichier texte au format excel.
Cela dit si tu as un exemple de bout de code pour cette procédure d'import de ton coté je prend quand même.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 août 2011 à 11:22
"Je ne pense pas que ça soit simple au point que je puisse directement passer par l'enregisterue de macro"
Tant que tu n'auras pas essayé, tu ne peux pas en être sûr
"le fichier à importer n'a pas toujours le même nom"
Il faudra donc que ton programme propose à l'utilisateur de faire le choix de ce fichier.
Là encore, une simple recherche de "ouvrir fichier" te fournira des exemples.
"il me sort une erreur (...) lorsque j'enregistre"
Ne sachant pas quel code tu utilises, difficile de te dire pourquoi
"si tu as un exemple de bout de code"
Le site en est plein : c'est à toi de chercher; ça ne viendra pas tout cuit.