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 100 101 102 103 104
|
Option Explicit
Sub ExportationFichierCSV()
'=================================================
' 1. Importation des variables via le fichier .txt
'=================================================
'Déclaration des variables
Dim Fichier As String
Dim j As Integer, k As Integer
'Efface les cellules où seront importées les variables
Sheets("Feuil1").Range("A2", "E500").Clear
'chemin du fichier d'importation
Fichier = "C:\progtemp\Variables-IDE\variablesexportées.txt"
'crée une requête sur le fichier texte et insère les champs
'dans la feuille "Feuil1" en partant de "A2"
Sheets("Feuil1").QueryTables.Add("TEXT;" & Fichier, Feuil1.[A2]).Refresh
'Efface les cellules de description
Sheets("Feuil1").Range("D2", "D500").Clear
'copie la colonne des valeurs parametrees dans la colonne de description
Sheets("Feuil1").Range("D2", "D500").Value = Sheets("Feuil1").Range("E2", "E500").Value
Sheets("Feuil1").Range("E2", "E500").Clear
Feuil1.Range("D2", "D500").Select
Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'==============================================
' 2. Répartission des variables dans le tableau
'==============================================
'Déclaration des variables
Dim i As Integer
'Inscrit les variables, adresses et types dans le tableau
For i = 8 To 200
Feuil2.Cells(i + 6, 1) = Feuil1.Cells(i, 1).Value
Feuil2.Cells(i + 6, 3) = Feuil1.Cells(i, 2).Value
Feuil2.Cells(i + 6, 4) = Feuil1.Cells(i, 3).Value
Feuil2.Cells(i + 6, 5) = Feuil1.Cells(i, 4).Value
Next
'============================
' 3. Création du fichier .csv
'============================
'Déclaration des variables
Dim FD As FileDialog
Dim strChaine As String
Dim Plage As Range
Dim Ligne As Long
Dim Colonne As Integer
Dim Folder As String
Dim FileName As String
Dim FolderExists As String
Dim v As Variant
'Contrôle si le répertoire de destination existe
Folder = "C:\progtemp\Variables-IDE\"
FolderExists = Dir(Folder, vbDirectory)
If FolderExists = "" Then
MsgBox "Le répertoire de destination n'existe pas"
Exit Sub
End If
FileName = Folder + Range("A12").Text + "_Variables.csv"
'Plage a transformer en text
Set Plage = Range("p14:p112")
'Ouverture du fichier de sortie
Open FileName For Output As #1
'Boucle sur la plage et ajoute les lignes au fichier
For Ligne = 14 To Plage.Rows.Count
For Colonne = 1 To Plage.Columns.Count
If strChaine <> "" Then strChaine = strChaine & ";"
' v = Cells(21, 15).Value
strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
Next Colonne
Print #1, strChaine
strChaine = ""
Next Ligne
'Fermeture du fichier
Close #1
'Affichage du chemin
MsgBox "Fichier : " & FileName & " disponible"
MsgBox "Le fichier est prêt et opérationnel"
End Sub |
Partager