Avis aux pro (macro mail)

chinel

XLDnaute Impliqué
Salut tout le monde !

voici mon code pour envoyer une feuille excel qui fonctionne très bien, mais le problème c'est que je voudrais supprimer mes code VBA dans la copie de la feuille !

Private Sub CommandButton1_Click()
'Working in 97-2007
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String

With Application
.ScreenUpdating = False
.EnableEvents = False
End With

Set Sourcewb = ActiveWorkbook
'Suppression des boutons (ActiveX) dans la feuille
'For Each Obj In ActiveSheet.OLEObjects
' If TypeOf Obj.Object Is MSForms.CommandButton Then Obj.Delete
'Next
'Application.DisplayAlerts = False
'ActiveSheet.DrawingObjects.Delete

'Copy the sheet to a new workbook
'ActiveSheet.Copy
Sheets("Planning").Copy
'Sheets("Planning").Copy
'With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
'.DeleteLines 1, .CountOfLines
' End With
'Suppression des boutons (ActiveX) dans la feuille
For Each Obj In ActiveSheet.OLEObjects
If TypeOf Obj.Object Is MSForms.CommandButton Then Obj.Delete
Next
Application.DisplayAlerts = False
ActiveSheet.DrawingObjects.Delete
Set Destwb = ActiveWorkbook

'Determine the Excel version and file extension/format
With Destwb
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007
'We exit the sub when your answer is NO in the security dialog that you only
'see when you copy a sheet from a xlsm file with macro's disabled.
If Sourcewb.Name = .Name Then
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
MsgBox "Your answer is NO in the security dialog"
Exit Sub
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End If
End With

' 'Change all cells in the worksheet to values if you want
' With Destwb.Sheets(1).UsedRange
' .Cells.Copy
' .Cells.PasteSpecial xlPasteValues
' .Cells(1).Select
' End With
' Application.CutCopyMode = False

'Save the new workbook/Mail it/Delete it
TempFilePath = Environ$("temp") & "\"
TempFileName = "" & Sourcewb.Name & " " & Format(Now, "dd-mmm-yy h-mm-ss")

With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
.SendMail "", _
"Copie du planning de Patrick Jacquet (this programm was conceived by Manuel Dejong)"
On Error GoTo 0
.Close SaveChanges:=False
End With

'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr

With Application
.ScreenUpdating = True
.EnableEvents = True
End With

End Sub

merci aux pro de m'aider car je sais que c'est un peu complexe, mais bon ... !
 

Discussions similaires

Réponses
6
Affichages
268