VBax
Messages postés3Date d'inscriptionjeudi 17 juillet 2008StatutMembreDernière intervention18 juillet 2008
-
17 juil. 2008 à 11:20
VBax
Messages postés3Date d'inscriptionjeudi 17 juillet 2008StatutMembreDernière intervention18 juillet 2008
-
18 juil. 2008 à 17:38
Bonjour à tous,
Je débute en VBA (du moins je pense..) . J'ai besoin d'aide pour extraire les lignes d'un fichier texte pour ensuite les coller dans un fichier excel. Il faudrait que puisse automatiser le système car j'ai beaucoup de fichier texte!!
J'aimerais que chaque ligne du fichier texte se retrouve en ligne dans le fichier excel. Ensuite, je pense spliter les données par le séparateur "espace"..
J'ai essayer quelques code du type:
<li>PublicFunction OuvrirTextRapide(ByVal Fichier AsString) AsString</li><li>Dim a AsInteger</li><li> a = FreeFile
</li><li>
</li><li>Open Fichier For Input As #a
</li><li> OuvrirTextRapide = Input(LOF(a), a)
</li><li>Close #a
</li><li>EndFunction</li><li>
</li><li>OuvrirTextRapide("C:\Fichier.txt")</li>
alors la macro copie bien une partie du fichier mais la forme obtenue est inexploitable!! même pour la conversion des données.
Si une bonne âme peut m'aider, ce serait vraiment sympa!!!
VBax
Messages postés3Date d'inscriptionjeudi 17 juillet 2008StatutMembreDernière intervention18 juillet 2008 17 juil. 2008 à 18:38
Ok merci beaucoup pour la réponse NHenry mais justement comment je fais pour spliter sur les lignes?
Spliter les données sur des colonnes séparées je m'en sortirais mais là mon problème c'est que toutes les lignes du texte se mettent dans la première ligne du tableur (j'espère que je parviens à me faire comprendre...). Du coup, je m'en sors pas. Si tu peut me préciser comment spliter sur les lignes ce serait vraiment cool!!.. (commande VbCrLf) c'est ça?
bonjourcheval
Messages postés228Date d'inscriptionmercredi 13 décembre 2000StatutMembreDernière intervention 8 août 2011 17 juil. 2008 à 19:35
En fait, c'est la Commande Split.
Dim maChaine as string
dim ChaineSplitter() as string
maChaine = "bon / test / de / split"
ChaineSplitter = Split(maChaine,"/")
Donc, dans ton cas, Il faut que tu fasses d'abord un split avec VbCrlf. C'est la constante pour les "enter" ou retour de chariot comme disait mon prof d'info ^^
'Cette commande donnera un vecteur avec chaques lignes de ton fichier
UneLigneDuFichier= Split(TachainecontenantTouteLesLignes, vbCrlf)
ensuite
'Cette command donnera un vecteur avec chaque info d'une ligne
LesDonnéesd'uneLigne = Split(UneLigneDuFichier(0), vbTab)
VbTab est la constant de tabulations. Si ça fonction pas, essaie de mettre une espace comme caractère de séparation Split ( uneChaine, " ")
Voilà
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)