Sauvegarde Classeur mais sans formule

Résolu/Fermé
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 31 mai 2016 à 14:30
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 7 juin 2016 à 10:51
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



1 réponse

Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 1/06/2016 à 13:45
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 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
1 juin 2016 à 13:54
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 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61 > CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023
Modifié par Kuartz le 1/06/2016 à 15:10
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