tri fichier txt par macro excel

mikil

XLDnaute Nouveau
Bonjour

je bute sur un truc depuis deux jours, je m'explique:
je recois des mails tous les jours don j'arrive à récuperer via une macro excel sous forme de fichier txt, jusque là cava le probleme c'est que le fichier que je recois dois etre splitter selon les infos contenu dedans.

Mettons que le contenu du mail du mail soit de la forme

france
paris
jean
léa
raul
lyon
hervé
baptiste

allemagne
berlin
wolfgang
hubert
munich
rosetta
jurgen


mon but c'est de générer par exemple autant de fichiers txt qu'il y a de pays dans le mail'variable selon les jours)
mais ca j'y arrive
le probleme c'est que je récupère par exemple dan sle fichier txt intitulé france

la liste
paris
jean
léa
raul
lyon
hervé
baptiste

sauf que c'est pas bon lyon et paris ne sont pas des prénoms

il faudrait plutot que je récupère quelque chose de la forme

jean paris
léa paris
raul paris
hervé lyon
baptiste lyon
meme si tout ceci se trouvera dans un fichier txt nommé france.

je ne sais pas vraiment comment m'y prendre!

Merci d'avance!
 

mikil

XLDnaute Nouveau
Re : tri fichier txt par macro excel

Bonjour

je bute sur un truc depuis deux jours, je m'explique:
je recois des mails tous les jours don j'arrive à récuperer via une macro excel sous forme de fichier txt, jusque là cava le probleme c'est que le fichier que je recois dois etre splitter selon les infos contenu dedans.

Mettons que le contenu du mail du mail soit de la forme

france
paris
jean
léa
raul
lyon
hervé
baptiste

allemagne
berlin
wolfgang
hubert
munich
rosetta
jurgen


mon but c'est de générer par exemple autant de fichiers txt qu'il y a de pays dans le mail'variable selon les jours)
mais ca j'y arrive
le probleme c'est que je récupère par exemple dan sle fichier txt intitulé france

la liste
paris
jean
léa
raul
lyon
hervé
baptiste

sauf que c'est pas bon lyon et paris ne sont pas des prénoms

il faudrait plutot que je récupère quelque chose de la forme

jean paris
léa paris
raul paris
hervé lyon
baptiste lyon
meme si tout ceci se trouvera dans un fichier txt nommé france.

je ne sais pas vraiment comment m'y prendre!

Merci d'avance!


en fait pour etre plus clair je joins mon bout de code

Set m_FileTemp = m_FSO.OpenTextFile(OutputPath & Me.MailFolder & "\temp.txt", ForReading)
Dim strline As String

While Not m_FileTemp.AtEndOfStream
strline = m_FileTemp.ReadLine
If strline = "" Then
'do nothing
ElseIf InStr(UCase(strline), UCase(setting.LasStr)) > 0 Then 'si on a atteint la derniere ligne de lecture des quotes
m_FileTemp.Close
Set m_FileTemp = m_FSO.OpenTextFile(OutputPath & Me.MailFolder & "\temp.txt", ForWriting, True, TristateUseDefault)
Exit Sub
ElseIf InStr(UCase(strline), UCase("france")) > 0 Then ' pour splitter selon le pays
Set file = m_FileCollection.Item("FRANCE")
ElseIf InStr(UCase(strline), UCase("allemagne")) > 0 Then
Set file = m_FileCollection.Item("ALLEMAGNE")
............
etc selon le nombre de pays
Else
file.WriteLine strline
End If
Wend

'on réinitialise le fichier temporaire
m_FileTemp.Close
Set m_FileTemp = m_FSO.OpenTextFile(OutputPath & Me.MailFolder & "\temp.txt", ForWriting, True, TristateUseDefault)













Mon idée c'est de rajouter quelque chose du genre

dim capital as variant
for each capital in array ("paris", "lyon", "madrid",...... etc)

et puis a la fin au lieu d'écrire
Else
file.WriteLine strline


j'écris plutot

Else
file.WriteLine strline & " " & capital
 

Discussions similaires

Réponses
10
Affichages
291