XL 2013 Copier un feuille avec les valeurs dans un autre classeur

These38

XLDnaute Nouveau
Bonjour
Voilà j'ai créer un bouton pour que quand une personne clique dessus çà enregistre la feuille dans un nouveau fichier avec la date dans le nom du fichier. Jusque là tout va bien. Mon seul problème c'est que ça copie aussi les formules au lieu des valeurs. Je suis pas un expert en vba j'ai un peu rechercher mais je ne trouve pas ou alors ne comprend pas la methode.

VB:
Sub Wks2Wbk()
Dim NWBK As Workbook
Sheets("Fax").Copy: Set NWBK = ActiveWorkbook
NWBK.SaveAS "c:\temp\" & "Fax du " & Format(Now - 1, "dd-mm-yyyy") & ".xlsx", FileFormat:=51: NWBK.Close False
End Sub

Si quelqu'un pouvait m'aider merci d'avance
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re

Donc en mixant les deux, on peut obtenir un truc du genre
VB:
Sub Wks2Wbk_VS()
Dim NWBK As Workbook
Sheets("Fax").Copy: Set NWBK = ActiveWorkbook
With NWBK.Sheets(1)
.UsedRange.Value = .UsedRange.Value
End With
NWBK.SaveAs "c:\temp\" & "Fax du " & Format(Now - 1, "dd-mm-yyyy") & ".xlsx", FileFormat:=51: NWBK.Close False
End Sub
Je te laisse tester sur ton PC.
 

These38

XLDnaute Nouveau
Voila 2 version que j'ai faite pour 2 feuille differente
Sur le premier je copie juste les valeurs, sauvegarde le fichier et imprime
VB:
Sub Wks2Wbk()
Dim NWBK As Workbook
Sheets("FAX").Unprotect ("Password01")
Sheets("FAX").Copy: Set NWBK = ActiveWorkbook
With NWBK.Sheets(1)
    .UsedRange.Value = .UsedRange.Value
End With
NWBK.SaveAs "c:\Fax minuit\" & "Fax du " & Format(Now - 1, "dd-mm-yyyy") & ".xlsm", FileFormat:=52: NWBK.Close False
Application.ActivePrinter = "**** sur Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
Sheets("FAX").Protect ("Password01")
End Sub

Sur le deuxième je copie les formules du coup je suis obliger de copier le module1 en même temps car c'est la ou il y a la fonction pour les calculs

VB:
Sub Wks3Wbk()
Dim NWBK As Workbook
Dim NewM As Object, NewCode As String
With ThisWorkbook.VBProject.VBComponents("Module1").CodeModule
    NewCode = .Lines(1, .CountOfLines)
End With
Sheets("reception FOS").Unprotect ("Password01")
Sheets("reception FOS").Copy: Set NWBK = ActiveWorkbook
Set NewM = ActiveWorkbook.VBProject.VBComponents.Add(1)
With ActiveWorkbook.VBProject.VBComponents(NewM.Name).CodeModule
    .AddFromString NewCode
End With
NWBK.SaveAs "c:\\Reception\" & A4 & B4 & " du " & Format(Now - 1, "dd-mm-yyyy") & ".xlsm", FileFormat:=52: NWBK.Close False
Application.ActivePrinter = "***** sur Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
Sheets("reception FOS").Protect ("Password01")
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 899
Membres
103 024
dernier inscrit
rdge