Besoin d'aide VBA macro création d'un fichier texte spécifique.

bhafe1

XLDnaute Nouveau
Bonjour à tous,

Voilà mon problème, j'ai un tableau de commande de la forme Référence colonne A, Quantité colonne B, Ref de ligne de commande colonne C, Ref de cde Cellule D1.
Il faut que je génère un fichier texte de la forme ci dessous:

Format de fichier : Texte (ASCII)
Nommage : Pas de règle définie (extension .txt recommandée)
Caractère de Fin de ligne : \

Structure du fichier à importer pour une livraison au distributeur
Type de Comptes : Principal ou compte PPC/PPC+

- Les champs optionnels sont en grisés
- Les champs avec taille supérieure à la limite seront tronqués
- Chaque fin de ligne doit comporter le caractère AntiSlash « \ »

Nom du champ Type de données Description
FV Chaîne (2) version: 02 (indiquer FV=02\)
OT Chaîne (1) Type de livraison: D (au distributeur)
OR Chaîne (35) Référence de commande
LP Chaîne (6 ou 7) Code produit : Spicers et Calipage 6 digits / Plein Ciel 7 digits
LQ Chaîne (7) Quantité commandée (ex. LQ=0000001 ou LQ=1)
LR Chaîne (35) Référence de ligne (ex. LR=Pour Monsieur DURAND)
FM Chaîne (3) Fin de commande: ENDORD (ex. FM=ENDORD\)
FM Chaîne (3) Fin du fichier de commande : END (ex. FM=END\)



EXEMPLE DU RÉSULTAT ATTENDU
FV=02\
OT=D\
O0=INSTRUCTION_LIVRAISON\
OR=TEST IMPORT\
LP=021903\
LQ=12\
LR=REF DE LIGNE TEST M.DUPONT.....\
LP=114800\
LQ=10\
LR=REF DE LIGNE TEST M.DURAND.....\
FM=ENDORD\
FM=END\


Je vous remercie d'avance cela me sortirait une belle épine du pied.
 

Staple1600

XLDnaute Barbatruc
Re : Besoin d'aide VBA macro création d'un fichier texte spécifique.

Bonsoir à tous

bhafe1
Joindre un fichier Excel exemple pourrait ne pas nuire à la résolution de ta question.
Et ce fichier peut ne pas être inutile pour faire des tests sur nos PC avant de te soumettre nos codes VBA.
NB: Il est étrange qu'inscrit depuis octobre 2008, tu ignores ce point, non ? ;)
 

Marc L

XLDnaute Occasionnel
Re : Besoin d'aide VBA macro création d'un fichier texte spécifique.


Bonjour,

un point m'intrigue concernant la fin de ligne : est-ce vraiment le "\" la séquence de fin de ligne
ou ce caractère doit être obligatoirement présent en dernier caractère de chaque ligne
avant la séquence de fin de ligne (séparateur de ligne) ?

Si disponible, joindre un exemple de fichier texte …

_______________________________________________________________________________
Je suis Charlie - Je suis Bardo
 

Marc L

XLDnaute Occasionnel
P'tite démonstration !

VB:
Sub Demo()
    Const SEP = "\" & vbCrLf

    With Feuil1
        F& = .Cells(.Rows.Count, 1).End(xlUp).Row:   If F < 7 Then Beep: Exit Sub
        S$ = "FV=" & .[E2].Value & vbCrLf & "FA=" & .[E3].Value & vbCrLf & _
             "FR=" & .[E4].Value & vbCrLf & "OT=" & .[E5].Value & vbCrLf & "OR=\" & vbCrLf

        For R& = 7 To F
             S = S & "LP=" & .Cells(R, 1).Value & SEP & "LQ=" & .Cells(R, 2).Value & SEP
        Next
    End With

    S = S & "FM=ENDORD" & SEP & "FM=END" & SEP
    F = FreeFile
    Open ThisWorkbook.Path & "\Export.txt" For Output As #F:  Print #F, S;:  Close #F
End Sub
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Si déboguer est l’art de corriger les bogues, alors programmer est l’art d’en faire !
 
Dernière édition:

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG