zesuila
XLDnaute Occasionnel
Bonjour à tous,
Voilà mon soucis : en glanant des infos (comme d'hab) un peu partout sur ce forum (génial soi dit en passant) j'ai trouvé un code pour envoyer un fichier par mail en piece jointe.
En cliquant sur le bouton ok du userform d'envoi, outlook 2003 s'ouvre bien, la pièce jointe apparait bien, l'objet également, bref tout à l'air d'être ok SAUF qu'en appuyant sur le bouton "envoyer" de outlook - rien ne se passe !!! comme si il attendait (outlook) une instruction - car quand je clique sur la croix, il se ferme bien. bref il n'est pas planté -
Par contre si je veux l'enregistrer ce mail, il n'apparait pas dans les brouiilons outlook. Bizarre
Alors pour tester, j'ai utilisé le raccouci clavier outlook pour envoyer le message (ctrl + Entrée) et là.... ça marche !
Alors que se passe t il ?
voici le code :
Dim HyperLien As String
Dim chr As String
Worksheets("fax").Activate
chr = Range("E1") 'nom du fichier en E1
ChDrive "Q" 'si C n'est pas le disque par défaut
ChDir "Q:\GMS\PAO\FAX PHOTOS\"
ActiveSheet.Copy
With Application
.MaxChange = 0.001
.CalculateBeforeSave = False
End With
With ActiveWorkbook
'.UpdateRemoteReferences = False
.PrecisionAsDisplayed = False
.SaveLinkValues = False
End With
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
On Error GoTo 0
On Error Resume Next
Columns("E:IV").Select
Selection.EntireColumn.Hidden = True
Rows("22:65536").Select
Selection.EntireRow.Hidden = True
ActiveSheet.SaveAs Filename:=(chr)
'ActiveWorkbook.Close False
'ActiveWorkbook.Close True
'End If
'Else
MsgBox "enregistré"
If MsgBox("Voulez vous envoyer ce fichier par mail maintenant ?", vbYesNo) = vbYes Then
Unload UserForm3
If ActiveCell.Address = "" Then Exit Sub
Range("E1").Select
'Workbooks.Open Filename:="Q:\GMS\PAO\FAX PHOTOS\" & ActiveCell.Value '& ".xls"
'ActiveCell.FormulaR1C1 = "Envoyé par email"
'Cells.Select
'Selection.Copy
'Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
' False, Transpose:=False
MsgBox "pour envoyer faire -CTRL + ENTREE-"
' ActiveSheet.Shapes("Picture 1").Delete
ActiveWorkbook.SendMail Recipients:="", Subject:="OFFRE"
Else
'Unload UserForm3
End If
ActiveWorkbook.Close True
Unload UserForm3
Worksheets("fax").Select
Range("tout").ClearContents
Calculate
'UserForm1.Show
ComboBox3.SetFocus
Des idées ?
merci encore
Voilà mon soucis : en glanant des infos (comme d'hab) un peu partout sur ce forum (génial soi dit en passant) j'ai trouvé un code pour envoyer un fichier par mail en piece jointe.
En cliquant sur le bouton ok du userform d'envoi, outlook 2003 s'ouvre bien, la pièce jointe apparait bien, l'objet également, bref tout à l'air d'être ok SAUF qu'en appuyant sur le bouton "envoyer" de outlook - rien ne se passe !!! comme si il attendait (outlook) une instruction - car quand je clique sur la croix, il se ferme bien. bref il n'est pas planté -
Par contre si je veux l'enregistrer ce mail, il n'apparait pas dans les brouiilons outlook. Bizarre
Alors pour tester, j'ai utilisé le raccouci clavier outlook pour envoyer le message (ctrl + Entrée) et là.... ça marche !
Alors que se passe t il ?
voici le code :
Dim HyperLien As String
Dim chr As String
Worksheets("fax").Activate
chr = Range("E1") 'nom du fichier en E1
ChDrive "Q" 'si C n'est pas le disque par défaut
ChDir "Q:\GMS\PAO\FAX PHOTOS\"
ActiveSheet.Copy
With Application
.MaxChange = 0.001
.CalculateBeforeSave = False
End With
With ActiveWorkbook
'.UpdateRemoteReferences = False
.PrecisionAsDisplayed = False
.SaveLinkValues = False
End With
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
On Error GoTo 0
On Error Resume Next
Columns("E:IV").Select
Selection.EntireColumn.Hidden = True
Rows("22:65536").Select
Selection.EntireRow.Hidden = True
ActiveSheet.SaveAs Filename:=(chr)
'ActiveWorkbook.Close False
'ActiveWorkbook.Close True
'End If
'Else
MsgBox "enregistré"
If MsgBox("Voulez vous envoyer ce fichier par mail maintenant ?", vbYesNo) = vbYes Then
Unload UserForm3
If ActiveCell.Address = "" Then Exit Sub
Range("E1").Select
'Workbooks.Open Filename:="Q:\GMS\PAO\FAX PHOTOS\" & ActiveCell.Value '& ".xls"
'ActiveCell.FormulaR1C1 = "Envoyé par email"
'Cells.Select
'Selection.Copy
'Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
' False, Transpose:=False
MsgBox "pour envoyer faire -CTRL + ENTREE-"
' ActiveSheet.Shapes("Picture 1").Delete
ActiveWorkbook.SendMail Recipients:="", Subject:="OFFRE"
Else
'Unload UserForm3
End If
ActiveWorkbook.Close True
Unload UserForm3
Worksheets("fax").Select
Range("tout").ClearContents
Calculate
'UserForm1.Show
ComboBox3.SetFocus
Des idées ?
merci encore