Macro:envoyer par mail un selection de cellul

Fermé
KotoOver Messages postés 3 Date d'inscription mardi 28 août 2012 Statut Membre Dernière intervention 29 août 2012 - 28 août 2012 à 18:56
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 29 août 2012 à 10:45
Bonjour,

Je viens vers vous car j'ai dans le cadre de mes études une petite programmation VBA à faire.

Dans ce cadre j'aimerais créer un outils qui me permette d'envoyer par mail une sélection de cellule. pour les mails le client est Outlook 2010 (pas la possibilité de changer) Je précise:

Je voudrais que lorsque je suis dans la feuille que je sélectionne la cellule A1 à B3, VBA prenne cette selection et la copie en image dans un mail (copie spécial: en image pour que la personne qui receptionne ne puisse pas changer les données)
Idéalement je souhaiterais qu'en parallèle il puisse me mettre un destinataire/un titre de mail/un texte. Le top serait si en plus il pouvait mettre une piece jointe. (toutes ces informations que les mettrais manuellement dans des cellules, y compris le chemin où trouver la pièce jointe dans mon ordis)


Voila j'espère que si vous prenez un peu de temps pour répondre à ma requête vous me permettrez de prendre un peu de recul car j'ai essayé plusieurs méthodes et rien n'est très concluant.

Avec toute ma gratitude! merci!
A voir également:

5 réponses

KotoOver Messages postés 3 Date d'inscription mardi 28 août 2012 Statut Membre Dernière intervention 29 août 2012 3
29 août 2012 à 10:02
Merci bcp clément, j'ai effectivement dèjà cette macro qui est la base mais pas le tout.

En fait, j'aurais besoin de la partie de la selection des cellules. Pour moi c'est cela la véritable valeur ajoutée de cette macro.

Merci en tout cas!
3
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
29 août 2012 à 10:45
Re,
Avec cette macro, on peut envoyer un tableau non modifiable issu d'Excel en corps de mail. Par contre c'est pas tout à fait que du VBA...
Comme ça c'est assez moche, mais tout modifiable en HTML :
Sub Macro()
 
'Déclaration des variables
    Dim EmailSup, Signature As String
    Dim MyOlapp As Object
    Dim myItem
    Dim olMailItem
    Dim myRecipients
    Dim myAttachments
 
    EmailSup = "tototata@tutu.fr"
    Signature = "Monsieur Totatu"

 ' Là, je créé mon tableau 5x2
 
 Dim strHTML As String
 
    strHTML = ""
    strHTML = strHTML & "<HEAD>"
    strHTML = strHTML & "<BODY>"
    strHTML = strHTML & "Bonjour , <BR>vous trouverez ci joint le tableau demandé<BR><BR>"
    strHTML = strHTML & "<B><SPAN STYLE='background-color:green;font-size:6mm'>Résultats : </SPAN></B><BR><BR>"
    strHTML = strHTML & "<TABLE BORDER>"
     
    For i = 1 To 5 'nombre de lignes (exemple plage A1:B5)
     
        strHTML = strHTML & "<TR halign='middle'nowrap>"
        For j = 1 To 2 'nombre de colonnes
        strHTML = strHTML & "<TD bgcolor='yellow'align='center'><FONT COLOR='blue'SIZE=3>" _
                & Cells(i, j) & "</FONT></TD>"
        Next j
        strHTML = strHTML & "</TR>"
     
    Next i
     
    strHTML = strHTML & "</TABLE>"
     
    strHTML = strHTML & "<BR><BR>Cordialement<BR>" & Signature
    strHTML = strHTML & "</BODY>"
    strHTML = strHTML & ""

 ' Là, j'envoie le mail
 
        Set MyOlapp = CreateObject("Outlook.Application")
        Set myItem = MyOlapp.CreateItem(olMailItem)
        Set myRecipients = myItem.Recipients
        myRecipients.Add (EmailSup)
        Set myAttachments = myItem.Attachments
 
        myItem.Subject = " Demande quelconque "
        myItem.HTMLBody = strHTML
        myItem.Send
 
End Sub

Pour info, j'ai tout trouvé ici.

A+

1
KotoOver Messages postés 3 Date d'inscription mardi 28 août 2012 Statut Membre Dernière intervention 29 août 2012 3
28 août 2012 à 18:58
je précise que la selection était pour l'exemple, idéalement, peut importe la selection que je fais, je voudrais que VBA copie dans excel et colle en image dans le mail pret à être envoyer et en attente de ma confirmation d'envoie.

Merci :)
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
29 août 2012 à 09:39
Salut,
Une petite recherche et hop !

Sub EnvoieFichierJoint()
Dim Dest As String
Dim Sujet As String
Dest = "tototata@tutu.com"
Sujet = "Test d'envoi d'email"
ActiveWorkbook.SendMail Dest, Sujet, True
End Sub 
Cette macro envoie le classeur en pièce jointe dans un mail. Le paramètre True signifie que le mail demande un envoi de confirmation de lecture.

Si Outlook 2010 est vraiment obligatoire, je ne vois que ça, sinon il y a plus long pour envoyer via Outlook Express, où l'on peut ajouter un contenu texte au message.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
29 août 2012 à 10:33
Re,
Je peux te renvoyer vers ce fil, j'ai testé et ça fonctionne.

Pour correspondre à ta demande, tu peux protéger la feuille envoyée avant la procédure d'envoi du code...

Je cherche encore pour insérer une image de la feuille en corps de texte.
0