Concatener tableau puis exporter en .txt sans perte mise en forme

Bonjour à tous,

Je développe actuellement une userform qui permet de saisir des pièces et paramètres dans le but de créer un fichier de coupe,

capture3

A la fin de la saisie utilisateur, les variables sont exportées vers ma feuille1, pour être mises en forme selon un format de cellule (Ex colonne L à N : le contenu est 1108.00x0001 quand l'utilisateur a saisi 1108 et 1).

Le contenu de chaque ligne est concaténé dans la colonne R pour ensuite être exporté en .txt,

presentation1

Cependant, je me heurte à un problème :

1)Je perd la mise en forme des cellules sources (A5:Q5), aussi bien en passant par un simple CONCATENER() sur chaque ligne, que par le code VBA suivant :

For j = 5 To 19
For i = 1 To 17
Sheets("Sheet1").Cells(j, 17) = Sheets("Sheet1").Cells(j, 17) & " " & Sheets("Sheet1").Cells(j, i)
Next
Next

Avez-vous une astuce pour esquiver cette perte, ou une méthode pour mettre en forme les variables avant l'export dans la feuille ?

2)J'ai trouvé un code pour créer un fichier .txt à partir de cellules de la feuille1,

Close
chemin = "C:\repertoire"
Open chemin & "Fichier.txt" For Output As #1
Print #1, Worksheets("Sheet1").Range("R5")
Close

Mais je souhaite faire des retours à la ligne pour respecter la mise en forme du modèle ci-dessous :

capture

Avez-vous une commande à me conseiller ou un code plus efficace ?

Merci d'être indulgent sur la rigueur du code du fichier joint, c'est encore en développement et il y sûrement 1000 optimisations possibles,

Merci d'avance,

Tom

13stromabv4.xlsm (85.83 Ko)

bonjour,

pour ta question 1) essaie ceci

    For j = 5 To 19
        For i = 1 To 16
            Sheets("Sheet1").Cells(j, 17) = Sheets("Sheet1").Cells(j, 17) & " " & Sheets("Sheet1").Cells(j, i).Text
        Next
    Next

pour ta question 2, j'ai pas compris le problème

Merci de ta réponse,

Malheureusement, je n'ai toujours pas de mise en forme..

Est ce possible de mettre en forme sous VBA avant import dans le tableau ?

Pour la question 2) je veux juste savoir comment aller à la ligne dans le fichier texte

bonsoir,

Malheureusement, je n'ai toujours pas de mise en forme..

?

alors on ne doit pas parler de la même chose, regarde ta colonne Q (colonne 17), j'ai mis la macro corrigée sous le nom aargh dans le fichier ci-dessous

18stromabv4.xlsm (81.15 Ko)

Hum bizarre, j'avais juste mis le code dans le bouton EXECUTER du débit, et n'avais pas le même résultat,

Je vais regarder ça, merci :)

Yepeee c'est bon pour la mise en forme et l'export .txt,

Il y a juste un dernier détail concernant la mise en forme personnalisée dans le tableau,

Je souhaiterais maintenant ajouter un nombre d'espace variable au sein d'une cellule,

Exemple :

"CHEV" est saisi en C5 ---> je voudrais voir "CHEVXX"

"LB" ---> "LBXXXX" où X = espace

Càd que le contenu de la chaîne soit toujours égal à 6 caractères, comblé avec des espaces,

J'ai fouillé dans les différents paramètres, il y bien \ qui rajoute un espace, mais celui-ci est fixe

bonjour,

une formule

=C5&REPT(" ";6-NBCAR(C5))

Parfait, tout fonctionne problème résolu !

Rechercher des sujets similaires à "concatener tableau puis exporter txt perte mise forme"