Microsoft 365 exporter une feuille dans un nouveau fichier en valeur (sans liaisons)

Lazz

XLDnaute Junior
Bonjour à tous,

J'ai trouvé un code pour dupliquer la feuille de mon classeur 1 dans un nouveaux classeur2. voici mon code :

Sub dupliquerFeuilleDansNouveauClasseur()
Dim nomFichier As String
nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"

ActiveSheet.Copy
ActiveWorkbook.SaveAs nomFichier
End Sub

Cependant ma feuille contient des liaisons, des formules du classeur 1 et j'aimerai que mon classeur 2 ne contiennent pas de liaisons mais que des valeurs...


Pouvez-vous m'aider svp ??
 
Solution
Bonjour,

Peut-être sera-ce suffisant :
VB:
Sub dupliquerFeuilleDansNouveauClasseur()
Dim nomFichier As String
nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"

ActiveSheet.Copy
' ActiveSheet = feuille active sur le classeur actif : nouveau classeur
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value ' copie les valeurs
ActiveWorkbook.SaveAs nomFichier
End Sub

cordialement

Lazz

XLDnaute Junior
Bon j'ai trouver toute seule ! Je vous met la solution au cas ou :

VB:
Sub dupliquerFeuilleDansNouveauClasseur()
    Dim nomFichier As String
    nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"
    
    Set range1 = Range("A1:L56")
range1.Copy
Range("A1").Select
ActiveCell.PasteSpecial Paste:=xlPasteValues


    ActiveSheet.Copy
    ActiveWorkbook.SaveAs nomFichier
End Sub


Dans l'ordre, le premier permet de dupliquer une feuille d'un classeur A dans un nouveau classeur B en le renommant "nom de feuille_date" :

Code:
Sub dupliquerFeuilleDansNouveauClasseur()
    Dim nomFichier As String
    nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"

Le second permet de copié collé en valeur et de garder la mise en forme :

Code:
Set range1 = Range("A1:L56")

range1.Copy

Range("A1").Select

ActiveCell.PasteSpecial Paste:=xlPasteValues
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Peut-être sera-ce suffisant :
VB:
Sub dupliquerFeuilleDansNouveauClasseur()
Dim nomFichier As String
nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"

ActiveSheet.Copy
' ActiveSheet = feuille active sur le classeur actif : nouveau classeur
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value ' copie les valeurs
ActiveWorkbook.SaveAs nomFichier
End Sub

cordialement
 

Lazz

XLDnaute Junior
Bonjour,

Peut-être sera-ce suffisant :
VB:
Sub dupliquerFeuilleDansNouveauClasseur()
Dim nomFichier As String
nomFichier = ActiveWorkbook.Path & "\" & ActiveSheet.Name & Format(Now, "_yyyymmdd") & ".xlsx"

ActiveSheet.Copy
' ActiveSheet = feuille active sur le classeur actif : nouveau classeur
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value ' copie les valeurs
ActiveWorkbook.SaveAs nomFichier
End Sub

cordialement
YESSS ça marche encore mieux merci beaucoup pour votre aide !
 

Discussions similaires