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

  • Initiateur de la discussion Initiateur de la discussion These38
  • 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 !

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
 
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.
 
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
 
- 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

Discussions similaires

Retour