integration image dans mail

integration image dans mail - VB/VBA/VBS - Programmation

Marsh Posté le 16-10-2019 à 15:25:50    

bonjour à tous,
 
j'ai fait le tour des forums existants et il m'est impossible de trouver une réponse à ma question.
en effet, j'ai mis en place un système d'envoi de planning automatique par mail.
le code fonctionne très bien, cependant je me suis rendu compte que les mobiles ne pouvaient pas voir le tableau, ce qui donnait une suite de caractères sans aucun sens...
je suis donc parti dans l'optique de transformer le tableau en jpg. quelle mauvaise idée!!!!
en effet, j'ai trouver plusieurs moyen d'importer des image depuis l'ordinateur, de transformé mon tableau en image, mais impossible de trouver un moyen pour simplement coller mon presse papier dans le corps pour envoyé l'image.
je n'ai trouvé qu'un forum proposant cela en exportant puis réimportant avec une complexité qui me dépasse l'image copiée. :cry:  
s'il vous plaît, dites moi qu'il existe un autre moyen [:mzarella].
 
voici quelques "prototypes" pour que vous vous rendiez compte de mon problème:
 
celui ci etait la version avec tableau
 

Code :
  1. Sub envoie_mail()
  2. ActiveCell.Range("A1:P32" ).Select
  3. ActiveWorkbook.EnvelopeVisible = True
  4. With ActiveSheet.MailEnvelope
  5. .Introduction = "bonjour , ci joint le planning pour la semaine du " & Date
  6. .Item.To = "exemple@gmail.com"
  7. .Item.Subject = "planning semaine du" & Date
  8. .Item.Send
  9. End With
  10. End Sub


 
 
ici, j'ai essayer de mettre l'image dans une autre feuille pour le récupérer ensuite:

Code :
  1. Sub envoie_mail()
  2. ActiveCell.Range("A1:P32" ).Select
  3. Selection.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
  4. Sheets("Feuil1" ).Select
  5. ActiveSheet.Paste
  6. Selection.Name = "planning"
  7. ActiveSheet.Shapes.Range(Array("planning" )).Select
  8. ActiveWorkbook.EnvelopeVisible = True
  9. With ActiveSheet.MailEnvelope
  10. .Introduction = "bonjour , ci joint le planning pour la semaine du" & Date
  11. .Item.To = "exemple@gmail.com"
  12. .Item.Subject = "le sujet"
  13. .Item.Send
  14. End With
  15. Selection.Delete
  16. End Sub


 
enfin, j'ai essayer d'exporter puis de réimporter l'image, cependant, ce code créer un diagramme en barre avec des valeurs qui me semblent à moitié aléatoires:
 

Code :
  1. Sub envoie_mail()
  2.     Set OutApp = CreateObject("Outlook.Application" )
  3.     Set OutMail = OutApp.CreateItem(0)
  4.    
  5.     Fname = ThisWorkbook.Path & "\Claims.jpg"
  6.     ActiveCell.Range("A1:P32" ).Select
  7.     Selection.CopyPicture xlScreen, xlBitmap
  8.  
  9.     Set oCht = Charts.Add
  10.  
  11.     With oCht
  12.         .Paste
  13.         .Export Filename:=Fname, Filtername:="JPG"
  14.     End With
  15.        
  16.     On Error Resume Next
  17.    With OutMail
  18.         .To = "exemple@gmail.com"
  19.         .Subject = "Le sujet"
  20.         .Attachments.Add Fname
  21.         .HTMLBody = "<html><p>Summary of Claim Status.</p>" & _
  22.                     "<img src=""cid:Claims.jpg"">"
  23.         .Display
  24.         .Send
  25.     End With
  26.    
  27.     Kill Fname
  28.     For Each AChart In ActiveWorkbook.Charts
  29.       AChart.Delete
  30.     Next
  31. End Sub


Message édité par inobody le 17-10-2019 à 08:57:33
Reply

Marsh Posté le 16-10-2019 à 15:25:50   

Reply

Marsh Posté le 16-10-2019 à 15:39:37    

si tu fais un copier/ coller de ton tableau et tu le glisses ensuite dans ton mail, cela doit fonctionner

Reply

Marsh Posté le 16-10-2019 à 15:41:44    

non, justement, c'est ce que j'expiquais, les téléphones ne peuvent pas ouvrir les tableaux, ce qui donne une suite de caractère pas random mais inutilisables.

Reply

Marsh Posté le 16-10-2019 à 16:05:54    

Je ne connais pas du tout VBA, mis si tu veux exporter un planing pour envoyer par Email a des mobiles je penses plutôt que tu devrais regarder pour exporter en pdf (à envoyer en pièces jointes du mail).


---------------
D3
Reply

Marsh Posté le 16-10-2019 à 16:08:13    

j'ai regardé aussi, mais ce n'est pas beaucoup plus simple et l'idée d'avoir limage dans le corps du mail et de ne pas avoir à télécharger un pdf chaque semaine me plaisait bien, en effet, je trouve ça plus user friendly de mettre l'image dans le corps du mail, ce qui est impossible avec un odf

Reply

Marsh Posté le 16-10-2019 à 17:33:19    

Bon courage pour que ton image s'affiche dans ton Email sur tous les terminaux.
De ma propre expérience, envoyer une photo en pièces jointes c'est (relativement) simple, l’afficher dans le contenu beaucoup moins (en tout cas pour que ça fonctionne partout) !
En plus avec le pdf, le texte reste sélectionnable, on peut zoomer, ce sera surement plus léger, enfin bref, c'était juste une piste à creuser...
 
Bonus : ça n'a pas l'air si compliqué : https://www.google.com/searchq=VBA+ [...] nge+to+pdf


---------------
D3
Reply

Marsh Posté le 16-10-2019 à 19:16:24    

Si l'adresse mail dans les codes est réelle tu devrais la virer.
PS: png ou gif, en tout cas pas jpg pour des tableaux etc.


Message édité par rat de combat le 16-10-2019 à 19:17:01
Reply

Marsh Posté le 22-10-2019 à 13:15:25    

En plus, en mettant l'image direct dans un mail, il risque de tomber sur un autre problème : le blocage de l'affichage de l'image par le client mail :/
+1 pour une version PDF.
Sinon, convertir le tableau Excel en tableau HTML.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed