[VBA] - Exporter sans formules tout en gardant les valeurs

Bonjour à toutes et tous,

J'ai une question VBA.

Je possède une macro qui extrait un onglet dans un répertoire précis tout fonctionne bien.

Par contre, je voudrais que les formules soient effacées tout en gardant le contenu.

Auriez-vous une idée s'il vous plait ?

Merci par avance.

Sub ExporterBDD()

Dim Destination As String

Destination = ThisWorkbook.Path & "\Export_toto\"

Worksheets("toto").Copy
With ActiveWorkbook

Sheets("toto").Shapes.SelectAll
Selection.Delete
    .SaveAs Filename:=Destination & "toto_" & Day(Now) & "_" & Month(Now) & "_" & Year(Now) & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    .Close SaveChanges:=False
End With

End Sub

Bonjour dyscus

Il suffit de faire un copier / collage spécial -> valeur des cellules

Sub ExporterBDD()
  Dim Destination As String

  Destination = ThisWorkbook.Path & "\Export_toto\"
  Worksheets("toto").Copy
  With ActiveWorkbook
    With .Sheets("toto")
      .Cells.Copy
      .Range("A1").PasteSpecial Paste:=xlPasteValues
      .Shapes.SelectAll
    End With
    Selection.Delete
    .SaveAs Filename:=Destination & "toto_" & Day(Now) & "_" & Month(Now) & "_" & Year(Now) & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    .Close SaveChanges:=False
  End With
End Sub

@+

Bonjour à toi,

Merci pour ton aide.

En fait dans mon tableau filtré j'ai une multitude de ligne masquée du coup ton code me génère une erreur à ce niveau

.Range("A1").PasteSpecial Paste:=xlPasteValues

Re,

Et avec

.Cells.PasteSpecial Paste:=XlPAsteValues

Sinon il nous faudrait le fichier anonymisé

Re,

Voici le fichier, je ne suis pas parvenue a adapter ta ligne de code :(

Je reste en arrière plan si besoin.

Merci encore

Re,

Bon effectivement il ne suffisait pas de faire un copier / coller valeur puisque les lignes sont filtrées (pas indiqué intiialement)

Le code testé à utiliser serait donc

Sub ExporterBDD()
  Dim Destination As String
  Destination = ThisWorkbook.Path & "\Export_JAP\"
  Worksheets("DDE_VERS_VOL_CP_VLM").Copy
  With ActiveWorkbook
    ' Supprimer les boutons
    .Sheets("DDE_VERS_VOL_CP_VLM").Shapes.SelectAll
    Selection.Delete
    ' Ajouter une feuille temporaire
    .Sheets.Add
    ActiveSheet.Name = "Temp"
    ' Copier / coller les valeurs
    .Sheets("DDE_VERS_VOL_CP_VLM").Cells.Copy
    .Sheets("Temp").Range("A1").PasteSpecial Paste:=xlPasteValues
    ' Copier / Coller le format
    .Sheets("DDE_VERS_VOL_CP_VLM").Cells.Copy
    .Sheets("Temp").Range("A1").PasteSpecial Paste:=xlPasteFormats
    ' Supprimer la feuille avec filtre
    Application.DisplayAlerts = False
    .Sheets("DDE_VERS_VOL_CP_VLM").Delete
    Application.DisplayAlerts = True
    ' Renommer la feuille temporaire
    .Sheets("Temp").Name = "DDE_VERS_VOL_CP_VLM"
    .SaveAs Filename:=Destination & "DDE_VERS_VOL_CP_VLM_" & Day(Now) & "_" & Month(Now) & "_" & Year(Now) & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    .Close SaveChanges:=False
  End With
End Sub

C'est une possibilité par forcément la plus simple, mais elle fonctionne

@+

Bonjour et merci bien, je teste DQP et te tiens informé.

Merci encore et bonne journée.

Rechercher des sujets similaires à "vba exporter formules tout gardant valeurs"