cs_actaruss
Messages postés55Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention27 mai 2009
-
30 nov. 2005 à 15:14
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
30 nov. 2005 à 16:24
Bonjour à tous,
Voilà, j'ai des fichiers en .txt dans un dossier spécifique.
Ces fichiers contiennent des infos avec des espaces et des "/" pour représenter les sauts de ligne.
J'ai fait une routine scannant le dossier et important le contenu de ces fichiers.
Le problème, est que tout se met dans une seule cellule.
Ex :
Contenu du fichier txt n°1 :
Nom Prénom/Age Date_naissance/Hobbies Sport
Je voudrais que lors de l'export, la cellule A1 nom, B1 prénom,
A2= prenom, B2= date
A3=Hobbies, B3=Sport
En fait, je voudrais qu'il fasse l'export en fonction de la tabulation.
$
Merci à vous.
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 30 nov. 2005 à 16:12
salut,
je ne connais pas malheuresment vba/excell, mais je pense que l'algo est un truc du style
i = 1
tant qu'il y a encore des données
str = {mon fichier entre le "/" n° i-1 et le "/" n° i }
astr = split(str," ") //espace
A(i) = astr(1) //écrire dans A(i)
B(i) = astr(2)
i = i+1
la fonction split permet de récupérer un tableau de string à partir d'une string et d'un séparateur.
rmrq : on pourrait faire un premier split directement sur le texte de ton fichier avec le caractère "/" mais j'ai peur que ca cause des petits pb de mémoire (si c'est un gros fichier)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 30 nov. 2005 à 16:24
Salut
Pour les imports de fichier sous Excel, tu n'as pas le choix :
- Les détections de changements de ligne = retour à la ligne (vbCrLf) : Obligatoire
- Les cellules seront sauvées dans l'ordre des colonnes
Par contre, pour le séparateur, c'est toi qui choisi, mais un seul séparateur, pas de mitigeage entre espace et / possible.
Pour connaître la syntaxe à utiliser, lance l'enregistrement d'une macro et fais, à la main, l'import ou l'export de ton fichier avec les paramètres qui vont bien. Puis stoppe l'enregistrement.
Va ensuite regarder le code de ta macro avec le menu Outils/Macro/Macros/Modifier
Si vraiment tu veux conserver ton format spécial, il te faudra programmer du VBA dans une macro où tu :
- Ouvriras un fichier en écriture : Commande "Open"
- Scruteras chaque ligne : Commande "For-Next"
- Ecriras chaque ligne avec les données : Commande "Print #"
- Fermeras ton fichier : Commande "Close #"
Désolé, je ne connais pas suffisamment la syntaxe VBA pour approfondir.
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)