[VBA] Extraction .csv

Escartefigue

XLDnaute Nouveau
Bonjour le forum,

Voila mon problème:
J'ai un fichier sur lequel on modifie les quantités (colonne jaune).
Le tableau trie les données dans un deuxième tableau en répertoriant les codes associés (de 2 a 4 codes par référence).
Une fois dans ce tableau je voudrais copier les codes et les qtes (intégrant un espace entre chaque groupes) dans un fichier .csv .

J'ai une macro qui marche mais le problème c'est que la méthode que j'utilise comprend trop de caractère pour les balayer les 603 lignes de code.

Je pense que cette opération est faisable avec une boucle mais je ne maitrise pas.

Merci d'avance

@+
 

Pièces jointes

  • Création CSV (2).xlsm
    273.6 KB · Affichages: 36

Paf

XLDnaute Barbatruc
Re : [VBA] Extraction .csv

Bonjour,

a priori

Code:
Sub CREATEUR_CSV()
 Dim i As Long, j As Byte
 CheminExport = Environ("USERPROFILE") & "\Desktop\"

 With Worksheets("Test")
 Open CheminExport & "Exemple.csv" For Output As #1

 'Entête
 Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "Commentaire 1" & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)
 Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "Commentaire 1" & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)

 For i = 2 To .Range("M" & Rows.Count).End(xlUp).Row Step 4
    For j = 0 To 3
        Print #1, Chr(34) & .Range("M" & i + j).Value & Chr(34) & "," & Chr(34); Chr(34) & "," & Chr(34) & .Range("N" & i + j).Value & Chr(34) & "," & Chr(34); Chr(34)
    Next
    If Worksheets("Test").Range("N" & i + 4) <> 0 Then Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "." & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)
 Next i

 Close #1
 End With
 MsgBox "Exportation terminée"

End Sub

A+
 

Escartefigue

XLDnaute Nouveau
Re : [VBA] Extraction .csv

Bonjour,

a priori

Code:
Sub CREATEUR_CSV()
 Dim i As Long, j As Byte
 CheminExport = Environ("USERPROFILE") & "\Desktop\"

 With Worksheets("Test")
 Open CheminExport & "Exemple.csv" For Output As #1

 'Entête
 Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "Commentaire 1" & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)
 Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "Commentaire 1" & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)

 For i = 2 To .Range("M" & Rows.Count).End(xlUp).Row Step 4
    For j = 0 To 3
        Print #1, Chr(34) & .Range("M" & i + j).Value & Chr(34) & "," & Chr(34); Chr(34) & "," & Chr(34) & .Range("N" & i + j).Value & Chr(34) & "," & Chr(34); Chr(34)
    Next
    If Worksheets("Test").Range("N" & i + 4) <> 0 Then Print #1, Chr(34) & "COMMENTAIRE" & Chr(34) & "," & Chr(34) & "." & Chr(34) & "," & Chr(34) & "1" & Chr(34) & "," & Chr(34); Chr(34)
 Next i

 Close #1
 End With
 MsgBox "Exportation terminée"

End Sub

A+

Bonjour Paf, bonjour le forum,

Merci beaucoup, j'ai juste modifié un peu la ligne pour le commentaire car ca ne rendait pas comme je voulais mais sinon c'est parfait!

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz