web-dev-qa-db-fra.com

Enregistrement du classeur Excel dans un chemin constant avec un nom de fichier à partir de 2 champs

Je suis absolument nouveau dans les macros Excel, j'ai essayé de rechercher et de mettre en place un code adapté à mon objectif, mais sans succès. J'espère que quelqu'un est assez généreux pour m'aider.

Sub save()
ActiveWorkbook.SaveAS Filename:="C:\-docs\cmat\Desktop\New folder\ck.xls", FileFormat:= _
  xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
 , CreateBackup:=False
End Sub

Comment modifier ceci: au lieu de nommer le fichier enregistré ck.xls, générez le nom de fichier à partir des cellules de feuille de calcul C5 et C8, avec un espace au milieu.

6
Martins Atvars

essayer

Sub save()
ActiveWorkbook.SaveAS Filename:="C:\-docs\cmat\Desktop\New folder\" & Range("C5").Text & chr(32) & Range("C8").Text &".xls", FileFormat:= _
  xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
 , CreateBackup:=False
End Sub

Si vous souhaitez enregistrer le classeur avec les macros, utilisez le code ci-dessous

Sub save()
ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ$("username") & _
    "\Desktop\" & Range("C5").Text & Chr(32) & Range("C8").Text & ".xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
    ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

si vous souhaitez enregistrer un classeur sans macros ni pop-up, utilisez-le

Sub save()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ$("username") & _
    "\Desktop\" & Range("C5").Text & Chr(32) & Range("C8").Text & ".xls", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    Application.DisplayAlerts = True
End Sub
8
user2140173

Ok, à ce moment-là, je l'ai fait avec l'aide d'un ami et le code ressemble à ceci.

Sub Saving()

Dim part1 As String

Dim part2 As String


part1 = Range("C5").Value

part2 = Range("C8").Value


ActiveWorkbook.SaveAs Filename:= _

"C:\-docs\cmat\Desktop\pieteikumi\" & part1 & " " & part2 & ".xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

Comment puis-je modifier cette partie (FileFormat: = _ xlOpenXMLWorkbookMacroEnabled) pour qu'elle soit enregistrée en tant que classeur Excel 97-2013, j'ai essayé plusieurs variantes sans succès. Merci

Il semble que j'ai trouvé la solution, mais mon idée est erronée. En faisant ce FileFormat: = _ xlOpenXMLWorkbook, il supprime une fenêtre contextuelle disant que vous ne pouvez pas enregistrer ce classeur en tant que fichier sans macro activée. Alors, est-ce impossible?

1
Martins Atvars