XL 2019 vba : copier en valeur un onglet avant envoi par mail

douguy

XLDnaute Junior
bonjour le forum

Je bute sur un problème de copie valeur
je veux envoyer un onglet par mail avec VBA
L'onglet en question a des formules que je souhaite remplacer par la valeur avant envoi
Le code marche super sauf qu'il reprend les formules puisqu'il ne fait pas le coller pastespecial xlvalue
comment indiqué ce collage spécial?

MErci pour votre aide

le code utilisé est le suivant

VB:
Sub EnvoiMailavecPJ()
 
    Dim chemin As String, fichier As String
 
    chemin = ThisWorkbook.Path
    fichier = chemin & "\" & "fichier" & Range("A3") & ".xls"
 
    ThisWorkbook.Sheets("base").Copy
    ActiveWorkbook.SaveAs Filename:=fichier
 
    Dim MonOutlook As Object
    Dim MonMessage As Object
 
    Set MonOutlook = CreateObject("Outlook.Application")
    Set MonMessage = MonOutlook.CreateItem(0)
 
        MonMessage.To = "xxxxx@yyyy.fr"
        MonMessage.Subject = "pppp"
        MonMessage.body = "Bonjour," & _
                    Chr(13) & Chr(13) & "Veuillez trouver, ci-joint, fichier pppp ." & _
                    Chr(13) & Chr(13) & "Bonne réception."
 
        MonMessage.Attachments.Add ActiveWorkbook.FullName
        MonMessage.display
 
    ActiveWorkbook.Close
 
    Set MonOutlook = Nothing
 
End Sub
 
Dernière édition:
C

Compte Supprimé 979

Guest
Bonjour Douguy

Merci d'éditer votre post et de mettre le code entre balises SVP :rolleyes:

Sinon, voici comment on peut faire
VB:
ThisWorkbook.Sheets("base").Copy
With ActiveWorkbook
  With .Sheets(1)
    .Cells.Copy
    .Cells.PasteSpecial Paste:=xlPasteValues
  End With
  .SaveAs Filename:=Fichier
End With

A+
 

Staple1600

XLDnaute Barbatruc
Re

Une autre syntaxe possible
(test OK sur mon PC- le classeur contenant le code VBA doit être enregistré au préalable)
VB:
Sub copievaleursseules()
ThisWorkbook.Sheets("base").Copy
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
With Workbooks(ActiveSheet.Parent.Name)
    .SaveAs ThisWorkbook.Path & "\test1.xlsx", 51
    .Close 0
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T