1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Sub ExportCSV()
Dim DossierFichierExcel As String
Dim NomFichierCSV As String
Dim ChaineTemp As String
Dim Separateur As String
Dim intNumeroFichier As Integer
Dim strReference As String
Dim intColonne As Integer
Dim intPremiereLigne As Integer
Dim intDerniereLigne As Integer
Dim intIndexLigne As Integer
'
' 1 - Tri du tableau ... à écrire (possibilité utiliser enregistreur macro)
'
' 2 - Création des fichiers .CSV
'
DossierFichierExcel = ActiveWorkbook.Path
Separateur = ";"
intNumeroFichier = 1
strReference = ""
intPremiereLigne = 71
intDerniereLigne = Cells(intPremiereLigne, 1).End(xlDown).Row
For intIndexLigne = intPremiereLigne To intDerniereLigne
If strReference = "" Then
'
' 1er passage on ouvre le fichier
'
NomFichierCSV = Range("A1").Value
NomFichierCSV = NomFichierCSV & intNumeroFichier & ".CSV"
intNumeroFichier = intNumeroFichier + 1
Open DossierFichierExcel & "\" & NomFichierCSV For Output As #1
Print #1, "FICHIER 5.50 - GRP"
Print #1, "NUM;" & Cells(intIndexLigne, 1) & ";"
ElseIf Cells(intIndexLigne, 1) <> strReference Then
'
' on ferme le fichier ouvert précédemment
Print #1, "FIN" & Separateur & Separateur & Separateur
Close
'
' on ouvre un nouveau fichier
NomFichierCSV = Range("A1").Value
NomFichierCSV = NomFichierCSV & intNumeroFichier & ".CSV"
intNumeroFichier = intNumeroFichier + 1
Open DossierFichierExcel & "\" & NomFichierCSV For Output As #1
Print #1, "FICHIER 5.50 - GRP"
Print #1, "NUM;" & Cells(intIndexLigne, 1) & ";"
End If
'
' on écrit les données de la ligne dans le fichier
ChaineTemp = ""
For intColonne = 2 To 11
ChaineTemp = ChaineTemp & Cells(intIndexLigne, intColonne) & Separateur
Next
Print #1, ChaineTemp
'
strReference = Cells(intIndexLigne, 1)
Next
'
' on ferme le dernier fichier
Print #1, "FIN" & Separateur & Separateur & Separateur
Close
End Sub |
Partager