Dupliquer une feuille sans les formules

Bonjour à Toutes et tous,

Je dois dupliquer l'intégralité d'une feuille excel, jusque là ça va, mais où ça se complique, c'est que dans la feuille à dupliquer il y a des formules, sous totaux etc.. et je ne voudrais garder que les valeurs.

J'ai ce code qui me duplique bien l'onglet, je le renomme et les formules restent...

Si quelqu'un a une idée...

Private Sub CommandButton2_Click()
Dim Onglet As Worksheet: On Error Resume Next
  Set Onglet = ActiveWorkbook.Worksheets("Répartition"): Onglet.Copy , Onglet
  ActiveSheet.Name = Application.InputBox("Nom de l'onglet", Type:=2)

Sheets(Répartition).Cells.Copy
Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlValues
Sheets(Sheets.Count).Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False

MsgBox "Feuille ok !", vbOKOnly + vbInformation, "Information"

End Sub

Salut une idée a appliquer dans la feuille active que tu souhaite "figer"

Sub Macro1()
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues
End Sub

A+

J'ai testé et cela fait la même chose, j'ai toujours les sous-totaux sous forme de formules (colonne AA) et non de valeurs (voir onglet feuille qui résulte de la duplication de l'onglet Répartition ), ainsi que toutes les autres formules de la feuille...

Private Sub CommandButton2_Click()
Dim Onglet As Worksheet: On Error Resume Next
  Set Onglet = ActiveWorkbook.Worksheets("Répartition"): Onglet.Copy , Onglet
  ActiveSheet.Name = Application.InputBox("Nom de l'onglet", Type:=2)

Sheets(Répartition).Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Selection.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False

MsgBox "Feuille  ok !", vbOKOnly + vbInformation, "Information"

End Sub

Fais attention à ce que tu envois !je vois pleins de numéro de télephones etc tu devrais mettre des informations fictives.

Ton code est protégé par un mdp.

Private Sub CommandButton2_Click()
Dim Onglet As Worksheet: On Error Resume Next
  Set Onglet = ActiveWorkbook.Worksheets("Répartition"): Onglet.Copy , Onglet
  ActiveSheet.Name = Application.InputBox("Nom de l'onglet", Type:=2)

Sheets(Répartition).Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
'Selection.PasteSpecial Paste:=xlPasteFormats Enlèves cette ligne ! sinon tu colle par dessus les valeurs les formules ! 
Application.CutCopyMode = False

MsgBox "Feuille  ok !", vbOKOnly + vbInformation, "Information"

End Sub

A+

Oups..

J'ai testé, et pareil, j'avoue que je ne sais plus quoi faire...

Ce code va fonctionner:

Bon Week end !

Private Sub CommandButton2_Click()
Dim Onglet As Worksheet: On Error Resume Next
  Set Onglet = ActiveWorkbook.Worksheets("Répartition"): Worksheets("Répartition").Copy after:=Sheets(Sheets.Count)

  ActiveSheet.Name = Application.InputBox("Nom de l'onglet", Type:=2)

Application.SendKeys ("^a")
DoEvents
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Range("A1").Select
MsgBox "Feuille Altavia ok !", vbOKOnly + vbInformation, "Information"

End Sub

Mais peut être que des plus aguéri vont trouver mieux que ! Je ne sais pas pk Cells.select ne marche pas..

Application.SendKeys ("^a").

Cela fonctionne !

Ouf, un grand merci !

Rechercher des sujets similaires à "dupliquer feuille formules"