Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
YESSS ça marche encore mieux merci beaucoup pour votre aide !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…