Re,
Une nouvelle idée, avec une copie et récup du presse-papier avec remplacement des tabulations par le point-virgule donc, sans boucle mais toujours avec plusieurs lignes d'instruction :
Sub FichierCSV()
'activer la référence "Microsoft Forms 2.0 Object Library." ou ajouter un formulaire (la référence sera automatiquement ajoutée)
Dim PP As New DataObject
Dim Plage As Range
Dim Dossier As String
Dim Fichier As String
Dim Texte As String
Dossier = "C:\Mon dossier\"
Fichier = "Test.csv"
'défini la plage sur toute la feuille
With ActiveSheet
Set Plage = .Range(.Cells(1, 1), _
.Cells(.Cells.Find("*", .[A1], -4123, , _
1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
2, 2).Column))
End With
Plage.Copy
With PP
.GetFromClipboard
Texte = .GetText(1)
End With
Texte = Replace(Texte, vbTab, ";")
'création du fichier .csv
Open Dossier & Fichier For Binary Access Write As #1: Put #1, , Texte: Close #1
End Sub