Je sais qu'il y a des questions similaires (et des réponses) sur Stack Overflow mais j'essaie spécifiquement d'inviter l'utilisateur final à enregistrer le fichier et à le renommer comme il se doit, sans créer le fichier automatiquement.Comment enregistrer un fichier Excel au format CSV en utilisant VBA, ce qui signifie que le nouveau fichier ne me donnera pas de message d'erreur?
J'essaie de créer une macro qui exportera automatiquement une feuille de calcul dans mon classeur et enregistrera le fichier pour les utilisateurs non techniques, en tant que fichier CSV. La macro fonctionne réellement bien, mais chaque fichier qu'elle crée me donne le message d'erreur "Le format de fichier et l'extension de" NAME OF FILE.csv "ne correspondent pas.Le fichier peut être corrompu ou dangereux.Si vous ne croyez pas sa source, don Ne l'ouvre pas, veux-tu l'ouvrir quand même? Comment puis-je ouvrir ce nouveau fichier sans ce message d'avertissement? Voici mon code:
Sub copy_translated_file()
Dim DstFile As String 'Destination File Name
Dim wb As Workbook
Dim InitFile As String
InitFile = "BE SURE TO CHANGE THE NAME OF THIS FILE TO WHAT YOU WANT.csv"
Sheets("Translated").Select
Sheets("Translated").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Set wb = ActiveWorkbook
ActiveSheet.Buttons.Delete 'Get rid of the macro button
Columns("N:N").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlToLeft
Range("F1").Select
DstFile = Application.GetSaveAsFilename(InitialFileName:=InitFile, _
fileFilter:="CSV (*.csv), *.csv", _
FilterIndex:=1, _
Title:="Save As")
If DstFile = "False" Then
MsgBox "Actions Canceled. File not saved."
wb.Close savechanges:=False 'Close File
Exit Sub
Else
wb.SaveAs DstFile 'Save file
wb.Close False 'Close file
MsgBox ("Translated file successfully saved in specified location.")
End If
End Sub
On dirait que vous êtes enregistrez-vous en format Excel normal, mais avec une extension CSV? Voir ici: https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/workbook-saveas-method-excel Vous devez fournir l'argument 'FileFormat' correct. –