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