Transformation Excel en Txt

Chris06nice

XLDnaute Nouveau
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

  • TEST.xls
    13.5 KB · Affichages: 57
  • TEST.xls
    13.5 KB · Affichages: 60
  • TEST.xls
    13.5 KB · Affichages: 59

tototiti2008

XLDnaute Barbatruc
Re : Transformation Excel en Txt

Bonjour Chris, Bonjour Minick,

Ah ben voilà, ça va être pratique pour compter les espaces et répondre à ta question :D
C'est la première fois qu'on me propose de compter des espaces sur une copie d'écran du bloc-notes :)

Bon on va dire les espaces après, on dirait...
 

Chris06nice

XLDnaute Nouveau
Re : Transformation Excel en Txt

Bonjour Chris, Bonjour Minick,

Ah ben voilà, ça va être pratique pour compter les espaces et répondre à ta question :D
C'est la première fois qu'on me propose de compter des espaces sur une copie d'écran du bloc-notes :)

Bon on va dire les espaces après, on dirait...


J'ai mis dans le 1er fichier excel le nombre d'espace entre chaque donnée
 

Efgé

XLDnaute Barbatruc
Re : Transformation Excel en Txt

Bonjour Chris06nice , Re Tototiti, Bonjour à tous.
Comme je ne l'avais jamais fait, j'ai essayé... (Merci Xld comme d'hab).
Une version qui sera certainement amandée par la suite, par plus habitué que moi :eek:
VB:
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")
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
            For j = 1 To 13
                Lng = Len(.Cells(i, j)): Var = Liste(j) - Lng
                Txt = Txt & Application.WorksheetFunction.Rept(" ", Var) & .Cells(i, j)
            Next j
            Print #1, Txt
            Txt = ""
        Next i
    End With
End With
Close #1
End Sub

Cordialement

Edit: J'ai oublié de préciser qu'il faut un dossier D:\temp et que le fichier "Résultat recherche.txt" sera créer automatiquement
Edit2 Problème de balises....
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Transformation Excel en Txt

Re
Voici un exemple.
Pour voir le code Alt + F11. Les lignes sont dans le module1.
Tu colle toutes tes données sur la feuille TEST4 et tu clique sur le bouton traitement.
En cherchant un peu sur le forum, tu trouveras des explications.
Je ne serais certainement pas là cet après midi.

Bon courage
Cordialement
 

Pièces jointes

  • Chris06nice(2).xls
    27.5 KB · Affichages: 57

Chris06nice

XLDnaute Nouveau
Re : Transformation Excel en Txt

Re
Voici un exemple.
Pour voir le code Alt + F11. Les lignes sont dans le module1.
Tu colle toutes tes données sur la feuille TEST4 et tu clique sur le bouton traitement.
En cherchant un peu sur le forum, tu trouveras des explications.
Je ne serais certainement pas là cet après midi.

Bon courage
Cordialement



C'est un tres bon début, mais les données ne sont pas cadrées, ni transformées comme dans le modele d'arrivée
 

Efgé

XLDnaute Barbatruc
Re : Transformation Excel en Txt

Re à tous, Bonjour Kjin,
Autant pour moi, je n'avais pas pris en compte les alignements "aléatoires"...
Je suivrai le fil, de loin, pour connaitre la bonne manière de faire ;).
Cordialement
 

tototiti2008

XLDnaute Barbatruc
Re : Transformation Excel en Txt

Bonjour à tous,
Re,

Car il y a des données à cadrer à gauche , d'autres à droite !!

Dans le fichier de départ, peux-tu déterminer quelle colonne est à mettre à gauche et quelle colonne à droite ?
Malheureusement la copie d'écran du bloc-notes ne nous permet pas facilement de déterminer ce paramètre... puisqu'il faudrait que l'on compte le nombre d'espace entre chaque donnée du fichier texte résultant pour le savoir
 

Chris06nice

XLDnaute Nouveau
Re : Transformation Excel en Txt

En fait tout est a gauche mais chaque cellule doit obligatoirement compter le nombre de caractere comme noté en vert dans le fichier ci-joint
MEME si le contenu est moins important
Exemple : le nom doit faire 30 caracteres, meme si le contenu est dupont
le prénom doit commencer 31 caractere apres le Nom
 

Pièces jointes

  • TEST.xls
    13.5 KB · Affichages: 47
  • TEST.xls
    13.5 KB · Affichages: 51
  • TEST.xls
    13.5 KB · Affichages: 53

Discussions similaires

Réponses
6
Affichages
342

Statistiques des forums

Discussions
312 492
Messages
2 088 893
Membres
103 982
dernier inscrit
krakencolas