Sauvegarde Classeur mais sans formule

Résolu
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -  
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Grâce à ce forum j'ai un code qui me permet de sauvegarder un classeur xlsm
en xlsx avec la date et l heure ( le chemin et le nom étant indiqués dans des cellules nommées).

Par contre, j'ai un soucis lié à l'utilisation , la sauvegarde se réalise avec les formules.
Il me faudrait la même chose mais avec une sauvegarde sans formule, chaque onglet du classeur copier coller valeur.

Voici le code

Sub Sauvegarde_sur_ordre()
Dim chemin As String
Dim fichier As String
Dim nom As String
nom = ThisWorkbook.FullName
chemin = Range("Chemin").Text

fichier = Range("Nom_Classeur").Text & " " & "le" & " " & Format(Now, "dd-mm-yyyy" & " à " & "hh""h""mm") & " " & "" & ".xlsx"


Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & fichier, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.SaveAs nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled

Application.DisplayAlerts = True

End Sub

Par avance merci de votre aide



A voir également:

1 réponse

Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Bonjour,

Vous pouvez rajouter le copier / coller dans le code avant de sauvegarder comme ceci :

Sub Sauvegarde_sur_ordre() 
Dim chemin As String 
Dim fichier As String 
Dim nom As String 
Dim i As Integer

nom = ThisWorkbook.FullName 
chemin = Range("Chemin").Text 

fichier = Range("Nom_Classeur").Text & " " & "le" & " " & Format(Now, "dd-mm-yyyy" & " à " & "hh""h""mm") & " " & "" & ".xlsx" 

For i = 1 To ThisWorkbook.Sheets.Count

Sheets(i).Cells.Copy
Sheets(i).Cells.PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

Next i


Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & fichier, FileFormat:=xlOpenXMLWorkbook 
ActiveWorkbook.SaveAs nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled 

Application.DisplayAlerts = True 

End Sub 



En espérant avoir pu vous aider...

Cordialement.
1
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour et merci,

Je viens d'essayer et le soucis c'est que le copier coller valeur s'effectue sur le classeur source.
J'aimerais que le classeur source ne bouge pas car c'est celui sur lequel je travaille régulièrement,
par contre je souhaite que le second fichier (sauvegarde) s'effectue en format xlsx pour supprimer la macro et en copier coller valeur.


Cdt
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61 > CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention  
 
Pardon, je n'avais pas compris.

Dans ce cas, il suffit de changer de place ma partie de code :

Sub Sauvegarde_sur_ordre() 
Dim chemin As String 
Dim fichier As String 
Dim nom As String 
Dim i As Integer

nom = ThisWorkbook.FullName 
chemin = Range("Chemin").Text 

fichier = Range("Nom_Classeur").Text & " " & "le" & " " & Format(Now, "dd-mm-yyyy" & " à " & "hh""h""mm") & " " & "" & ".xlsx" 

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & fichier, FileFormat:=xlOpenXMLWorkbook 
ActiveWorkbook.SaveAs nom, FileFormat:=xlOpenXMLWorkbookMacroEnabled 

For i = 1 To ActiveWorkbook.Sheets.Count

Sheets(i).Cells.Copy
Sheets(i).Cells.PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = False

Next i

ActiveWorkbook.Save

Application.DisplayAlerts = True 

End Sub 
0