texte dans corps de message

C

chris

Guest
Bonjour à tous
j'essaie en vain d'envoyer a partir d'une macro un mail avec piece jointe(xls) ca ça marche sans problème(merci encore thierry)mais il faut absolument que j'intègre un message dans le body, il parait que c'est pas possible mais bon si qq a une idée quand même.
bonne fin de journée à tous et merci encore.
 
C

chris

Guest
bonjour
un bout de code qui me viens de thierry!!!

--------code----------
Sub CopieDonneesMailJHFA()

Dim Chemin As String
Dim NomFile As String
Dim User As String
Dim LaDate As String
Dim MailAdresse As String
Dim MailSubject As String
Dim Msg As Byte


Application.ScreenUpdating = False


On Error Resume Next
MkDir "C:\Auto EmailJHFA\"
User = Sheets("Portefeuille").Range("A2")
LaDate = Format(Now, "dd-mm-yyyy HH-MM-SS")
Chemin = "C:\Auto EmailJHFA\"
NomFile = Chemin & "Portefeuille" & User & " " & LaDate & ".xls"
MailAdresse = Sheets("Portefeuille").Range("B2")
MailSubject = Sheets("Portefeuille").Range("C2") & " " & User & " Mise à jour du " & LaDate
Worksheets("Portefeuille").Copy
With ActiveWorkbook
.SaveAs User, FileFormat:=xlExcel9795
.SendMail MailAdresse, MailSubject
.Close 0

a+ merci
 
@

@+Thierry

Guest
SAlut Chris, STéphane, le Forum

Comme il a déjà été signalé la méthode SEndMail ne peut générer le corps du message....

Regarde ce Fil Chris, il y a peut-être une alternative :

Lien supprimé

Bonne Soirée
@+Thierry
 
S

STéphane

Guest
j'ai repris un peu cette étude
mais j'ai un problème avec la tablulation.
le remplacement marche et on peut le voir dans un msgbopx, ou même en copiant le corps dans le champ sujet, mais dans le champ body, les tabulations ne sont pas reprises :-(

bye bye
stephane

Option Explicit
Sub simpleMail()
Dim Link As String
Dim Msg As Variant
Dim Rw
Dim Cl As Range

Msg = "Voici le corps du message, blah blah blah" & vbCrLf

For Each Rw In ActiveCell.CurrentRegion.Rows
For Each Cl In Rw.Cells
Debug.Print Cl.Address
Msg = Msg & IIf(Cl.Column = 1, Cl.Value, vbTab & vbTab & Cl.Value)
Next Cl
Msg = Msg & vbCrLf
Next Rw
'MsgBox Msg: End
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A") 'retour chariot (%0D) + line feed (0A)'%0D%0A
Msg = Application.WorksheetFunction.Substitute(Msg, vbTab, "%09") 'tabulation
Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20") 'espace


'pour trouver le code hexadécimal qui me manquait pour la tabulation, je suis allé
'dans la barre d'adresse de mon navigateur et j'ai cherché un peu, je me suis rappelé
'qu'elle était la codification de la tabulation en javascript "\t"
'et j'ai donc tapé javascript:alert(escape('\t')) dans la barre d'adresse.

'pour transformer tous les caractères, je ne sais pas comme on va s'y prendre.
'peut-être qu'avec une référence à une librairie particulière,
'on pourrait utilise cette fonction javascript.
'je ne suis pas sûr que les fonctions hex de l'utilitaire d'analyse nous aide.

Link = "mailto:toto@toto.com" & "?Subject=Bonjour " _
& " de la part de " & Application.UserName & " en direct de la dernière démo de Thierry, lol " _
& "&Body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=Link, NewWindow:=True
End Sub


'on peut aussi concaténer le corps comme suit :
'Set C = Selection
'For Cl = 1 To C.Columns.Count
'For Rw = 1 To C.Rows.Count
'Body = Body & C.Cells(Rw, Cl) & " "
'Next Rw
'Next Cl
 
J

Jon

Guest
bonjour


j'ai trouvé une fonction pour encore l'url mais ça ne change rien pour la tabulation.

Function URLEncode(sText) As String
Dim lPos ' As Long
Dim sTexttemp ' As String

lPos = 1
Do While lPos <= Len(sText)
sTexttemp = sTexttemp & "%" & Hex(Asc(Mid(sText, lPos, 1)))
lPos = lPos + 1
Loop
URLEncode = sTexttemp
End Function

'j'ai trouvé une autre fonction mais le classeur source était protégé, alors je ne la poste pas.

bye
Stéphane
 
@

@+Thierry

Guest
Hé ben STéphane !!

Je te suis en tout cas !!, j'espère que Chris aussi !!!et heureux que ce bon vieux PIII marche toujours (le Miens aussi mais moi c'était un HP avec 128Ram et 20Go !!! héhéhé)

@+Thierry
 

Discussions similaires

Réponses
2
Affichages
161

Statistiques des forums

Discussions
312 827
Messages
2 092 558
Membres
105 452
dernier inscrit
bledix2406