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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| Private Sub GENERER_Click()
Dim Tablo, iR%, i%, Tmp$, Sep$, Tablo2, iR2%, i2%, Tmp2$, Sep2$, Tablo3, iR3%, i3%, Tmp3$, Sep3$, Tablo4, iR4%, i4%, Tmp4$, Sep4$, Tablo5, iR5%, i5%, Tmp5$, Sep5$
With Sheets("Export") 'On travaille directement sur la feuille export
Sep = ";"
iR = .Range("D65500").End(xlUp).Row 'Détermine la dernière ligne
Tablo = .Range("A6:D" & iR) 'Mémorise le tout dans un tableau
Open "\\195.1.1.70\seriem\TEST\OPALE.csv" For Output As #1
For i = 1 To iR
If Tablo(i, 4) <> "" Then 'Recopie uniquement les lignes du tableau <> ""
Tmp = ""
For k = 1 To 4
Tmp = Tmp & CStr(Tablo(i, k)) & Sep
Next
End If
Print #1, Tmp
Next
DoEvents
Close #1
Sep2 = ";"
iR2 = .Range("AD1").End(xlUp).Row 'Détermine la dernière ligne
Tablo2 = .Range("P1:AD" & iR2) 'Mémorise le tout dans un tableau
Open "\\195.1.1.70\seriem\TEST\DEntetes_OPALE___.csv" For Output As #2
For i2 = 1 To iR2
If Tablo2(i2, 4) <> "" Then 'Recopie uniquement les lignes du tableau <> ""
Tmp2 = ""
For k = 1 To 4
Tmp2 = Tmp2 & CStr(Tablo2(i2, k)) & Sep2
Next
End If
Print #2, Tmp2
Next
DoEvents
Close #2
Sep3 = ";"
iR3 = .Range("V65000").End(xlUp).Row 'Détermine la dernière ligne
Tablo3 = .Range("P6:V" & iR3) 'Mémorise le tout dans un tableau
Open "\\195.1.1.70\seriem\TEST\DLignes_OPALE___.csv" For Output As #3
For i3 = 1 To iR3
If Tablo3(i3, 4) <> "" Then 'Recopie uniquement les lignes du tableau <> ""
Tmp3 = ""
For k = 1 To 4
Tmp3 = Tmp3 & CStr(Tablo3(i3, k)) & Sep3
Next
End If
Print #3, Tmp3
Next
DoEvents
Close #3
Sep4 = ";"
iR4 = .Range("Q2").End(xlUp).Row 'Détermine la dernière ligne
Tablo4 = .Range("P2:Q" & iR4) 'Mémorise le tout dans un tableau
Open "\\195.1.1.70\seriem\TEST\DMessages_OPALE___.csv" For Output As #4
For i4 = 1 To iR4
If Tablo4(i4, 4) <> "" Then 'Recopie uniquement les lignes du tableau <> ""
Tmp4 = ""
For k = 1 To 4
Tmp4 = Tmp4 & CStr(Tablo4(i4, k)) & Sep4
Next
End If
Print #4, Tmp4
Next
DoEvents
Close #4
Sep5 = ";"
iR5 = .Range("Q3").End(xlUp).Row 'Détermine la dernière ligne
Tablo5 = .Range("P3:Q" & iR5) 'Mémorise le tout dans un tableau
Open "\\195.1.1.70\seriem\TEST\DLog_OPALE___.csv" For Output As #5
For i5 = 1 To iR5
If Tablo5(i5, 4) <> "" Then 'Recopie uniquement les lignes du tableau <> ""
Tmp5 = ""
For k = 1 To 4
Tmp5 = Tmp5 & CStr(Tablo5(i5, k)) & Sep5
Next
End If
Print #5, Tmp5
Next
DoEvents
Close #5
End With
' Sauvegarde en Excel
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="\\195.1.1.70\seriem\TEST\OPALE.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True
End Sub |
Partager