Transformation Excel en Txt

  • Initiateur de la discussion Initiateur de la discussion Chris06nice
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Chris06nice

Guest
Bonjour

Je suis nouveau sur votre forum.
Je cherche depuis un moment un moyen de facilité mon travail mensuel sans y parvenir
Peut etre pouvez vous m'aider
je vous explique

J’ai un fichier Excel avec des colonnes que je récupère mensuellement
Je veux le transformer en fichier txt mais voila il faut que les données soient à une position précise dans le fichier txt pour pouvoir l’importer ensuite dans un programme Sage.

Je vous joins le fichier excel
Et le tableau avec les longueurs de chaque « donnée »

Merci de votre aide

Chris
 

Pièces jointes

Re : Transformation Excel en Txt

Re,

Peut-être cette légère modification de la proposition d'Efgé, alors

Code:
Sub Fichier_Texte()
Dim Txt$, Liste(), i&, j&, Lng&, Var&
Liste = Array(0, 2, 10, 1, 30, 20, 5, 12, 12, 12, 12, 12, 2, 13)
Open "D:\temp\Résultat recherche.txt" For Output As #1
With ThisWorkbook
    With .Sheets("TEST44")
    .cells.entirecolumn.autofit
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
    Txt = ""
            For j = 1 To 13
                Lng = Len(.Cells(i, j).text): Var = Liste(j) - Lng
                Txt = Txt & .Cells(i, j).text & Space(Var)
            Next j
            Print #1, Txt
        Next i
    End With
End With
Close #1
End Sub
 
Re : Transformation Excel en Txt

C'est exactement ca au final mais pour la 1ere ligne
Mais si j'ai plusieurs ligne sur excel ? ca peut me donner un fichier directement en txt avec toute ces lignes ?
 
Re : Transformation Excel en Txt

Bonjour le fil 🙂,
J'avais plutôt vu les choses comme cela, en reprenant le code de EfGé 🙄...
Code:
Sub Fichier_Texte()
Dim Txt$, Liste1(), Liste2(), i&, j&
Liste1 = Array(0, 2, 10, 1, 30, 20, 5, 12, 12, 12, 12, 12, 2, 13)
Liste2 = Array("", "00", "#0000", "0", "", "", "#00", "#.000", "#.000", "#.000", "#.000", "#.000", "#0", "#0")
Open "C:\temp\Résultat recherche.txt" For Output As #1
With ThisWorkbook
    With .Sheets("TEST44")
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            For j = 1 To 13
                If Liste2(j) = "" Then
                    Txt = Txt & Cells(i, j) & String(Liste1(j) - Len(Cells(i, j)), " ")
                Else
                    Txt = Txt & Format(Cells(i, j), Liste2(j)) & String(Liste1(j) - Len(Format(Cells(i, j), Liste2(j))), " ")
                End If
            Next j
            Print #1, Txt
            Txt = ""
        Next i
    End With
End With
Close #1
End Sub
Bonne suite 😎
 
Re : Transformation Excel en Txt

Re 🙂,
Ca marche également mais ca se limite toujours a la 1ere ligne d'excel
Peut-on automatiser pour plusieurs lignes excel
par exemple de la ligne 1 à 100 ?
Tous les codes proposés marchent avec la totalité des lignes utilisées de la feuille 😕 ...???
Où alors, tu n'as pas de données en colonne A 🙄...
Code:
.Cells(Rows.Count, 1).End(xlUp).Row
Le 1 désigne la colonne A, si c'est la B qui est remplie, il faut utiliser 2, etc. 😛...
Bon courage 😎
 
Re : Transformation Excel en Txt

Re à tous, Bonjour JNP 🙂,

Je rentre de réunion pour m'aperçevoir que, ce que j'imaginai une petite usine (à gaz) n'était, en fait, pas si loin dui but 😉.
L'est content le Efgé 😀.
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
198
  • Question Question
Microsoft 365 Bug dans export TXT
Réponses
6
Affichages
646
Réponses
4
Affichages
821
Retour