Bonjour,

La contribution ci dessous permet d'exporter la plage de cellules sélectionnée dans un fichier CSV (séparateur ; )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub ExportCSV()
 
Dim Fd As FileDialog
Dim strChaine As String
 
Dim Plage As Range
 
Dim Ligne As Long
Dim Colonne As Integer
 
'Fenêtre de choix d'emplacement et nom du fichier en sortie
Set Fd = Application.FileDialog(msoFileDialogSaveAs)
 
'Ajout du filtre
Fd.FilterIndex = 10
 
'Sortie si pas de fichier
If Fd.Show = False Then Exit Sub
 
'Plage a trasformer en CSV
Set Plage = Selection
 
'Ouverture du fichier de sortie
Open Fd.SelectedItems(1) For Output As #1
 
'Boucle sur la plage et ajoute les lignes au fichier
For Ligne = 1 To Plage.Rows.Count
    For Colonne = 1 To Plage.Columns.Count
        If strChaine <> "" Then strChaine = strChaine & ";"
        strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
    Next Colonne
    Print #1, strChaine
    strChaine = ""
Next Ligne
 
'Fermeture du fichier
Close #1
 
MsgBox "Fichier : " & Fd.SelectedItems(1) & " disponible"
 
End Sub
Conseil : Associer cette macro à un raccourci clavier vous permettra de faire des exports à moindre efforts