Bonjour a tous !
J'ai un petit soucis pour créer ma macro.
Je cherche à sauvegarder un fichier excel contenant des tableaux, mises en pages, et formules (des dates et des noms provenant d'un autre tableau).
J'ai réussi a faire la copie, mais en gardant les formules, du coup, si l'on veut consulter un ancien fichier, on perd la date et les noms.
J'ai tester un "PasteSpecial" avec "XlPasteValues" seulement, je perd tous mes tableaux, couleurs, format de dates, etc...
Le but serait donc de recopier tout a l'identique, sauf quelques cellules ou il faut copier uniquement le résultat des formules.
Je vous montre mon code, récupéré et bidouillé du net :
Voila ! Sa fait surement très usine à gaz mais bon !
Je vais retenter de modifier certaines choses, sait t'on jamais !
D'avance merci beaucoup !
Edit : balises couleurs dans le code
J'ai un petit soucis pour créer ma macro.
Je cherche à sauvegarder un fichier excel contenant des tableaux, mises en pages, et formules (des dates et des noms provenant d'un autre tableau).
J'ai réussi a faire la copie, mais en gardant les formules, du coup, si l'on veut consulter un ancien fichier, on perd la date et les noms.
J'ai tester un "PasteSpecial" avec "XlPasteValues" seulement, je perd tous mes tableaux, couleurs, format de dates, etc...
Le but serait donc de recopier tout a l'identique, sauf quelques cellules ou il faut copier uniquement le résultat des formules.
Je vous montre mon code, récupéré et bidouillé du net :
Code:
Sub sauvegarde()
Application.ScreenUpdating = False
Dim Nomfichier, Chemin As String, Source As Range, Desti As Range, Desti2
Chemin = "C:\.......\Desktop\sauvegarde\"
'le fichier à sauvegarder étant sur le bureau
NomFichier = "Sauvegarde du " & Format(Date, "dd-mm-yy") & ".xls"
Set Source = ThisWorkbook.Sheets("Svg 1").Columns("A:O")
Workbook.Add -4167
'Création d'un feuillet temporaire ?
Set Desti = ActiveWorkbook.Sheets("Save1").Columns("A:O")
Source.Copy Desti
ActiveWorkbook.SaveAs Chemin & Nomfichier
'Jusqu'ici la macro marche, mais copie les fameuses formules, ou il me faut juste les résultats.
'Je n'ai pas réussis a intégrer la conversion des formules dans cette copie, la suite -tente- de copier a part les cellules avec formule.
Workbooks.Open (Chemin & NomFichier)
ThisWorkbook.Sheets("Svg 1").Range("D3:G3").Copy
'Il s'agit en fait de cellules Fusionnées
'j'ai tenter de faire un :
'ThisWorkbook.Sheets("Svg 1").Range("D3:G3", "E5", "D7:G7", "A10:D10", "E10").Copy
'Mais sans succès.
Set Desti2 = Workbooks(Chemin & NomFichier).Sheets("Save1").Range("D3:G3)
'C'est ici que ma macro bloque à priori, je pense que le type de Desti2 pose problème...
Desti2.PasteSpecial Paste := XlPasteValues
Workbooks.Close (Chemin & NomFichier)
Application.ScreenUpdating = True
End Sub
Voila ! Sa fait surement très usine à gaz mais bon !
Je vais retenter de modifier certaines choses, sait t'on jamais !
D'avance merci beaucoup !
Edit : balises couleurs dans le code
Dernière édition: