Enregistrer une feuille dans un nouveau classeur

  • Initiateur de la discussion Initiateur de la discussion yannoch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

yannoch

Guest
Bonsoir à tous,

je sais que ce sujet a déjà été traité, d'ailleurs, j'ai déjà fait une petite partie de ce que je voulais faire grâce à quelques recherches sur le forum :
Sheets("Résultat").Select
Sheets("Résultat").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Liste-" & Format(Date, "yyyy-mm-dd") & ".xls"
ActiveWorkbook.Close
Avec ce code, ça me copie la feuille souhaitée dans un nouveau classeur contenant la date du jour.
Mais c'est incomplet pour ce que je veux faire.
La feuille Résultat contient uniquement des formules qui pointent donc sur des valeurs dans d'autres feuilles, et lorsque je copie la feuille résultat dans un nouveau classeur, excel copie alors les formules et pas les valeurs ce que je voudrais. Car les valeurs du fichier d'origine sont amenés à être modifier fréquemment, donc les liaisons seront forcément cassées.
J'ai essayé avec l'enregistreur de macro, mais sans succès.

Donc pour résumé, comment peux-t-on copier les valeur et pas les formules lorsque je crée mon nouveau fichier ?

De mon coté, je continue à écumer, le forum, car j'ai pas encore tous vu.
 
Re : Enregistrer une feuille dans un nouveau classeur

Bonjour

La macro ci dessous devrait répondre à ton problème

Sub Macro1()
Dim nomfich As String
Dim fichnom As String
nomfich = ActiveWorkbook.Name
Workbooks.Add
fichnom = ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Liste-" & Format(Date, "yyyy-mm-dd") & ".xls"
Windows(nomfich).Activate
Cells.Select
Selection.Copy
Windows(fichnom).Activate
Selection.PasteSpecial Paste:=xlPasteFormats
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Range("A1").Select
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Liste-" & Format(Date, "yyyy-mm-dd") & ".xls"

End Sub

A+ François
 
Re : Enregistrer une feuille dans un nouveau classeur

Bonjour à tous


Une autre façon (en partant de ta macro)

Code:
Sub test()
Sheets("Résultat").Copy
[COLOR=Blue] With ActiveSheet.UsedRange.Cells[/COLOR]
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = xlCut
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Liste-" & Format(Date, "yyyy-mm-dd") & ".xls"
ActiveWorkbook.Close
End Sub

PS: fonctionne aussi comme cela
With ActiveSheet.UsedRange
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour