Macro envoi mail d'une selection de données

Bonjour à tous,

je suis novice en vba, et j'ai trouvé ce site sympa alors je me suis décidé à demander de l'aide !

Pour mon travail, j'aimerai créer une macro avec un bouton qui envoie directement par mail une sélection de données. J'ai cherché sur les forums , j'ai trouvé un code qui se rapproche de ce que je souhaite mais qui comporte 3 problèmes :

1) je n'arrive pas a sélectionner des données, le mail envoyé est la feuille entière

2) il y a l'entête du mail (comme si j'étais dans outlook) qui apparait quand j'appuie sur le bouton, j'aimerai que ça ne s'affiche pas et que ça envoie la mail directement. Et pourquoi pas, si possible, qu'un message de confirmation apparaisse à l'utilisateur pour l'informé que le mail à bien été envoyé.

3) quand je clique sur le bouton, il y a d'abord une fenêtre qui s'ouvre pour me signaler qu'il y a des cellules masquées. Et ça j'aimerai que ça n'apparaisse pas non plus !

Je sais créer un bouton pour y affecter une macro. Mais pour la macro en elle-même .... je ne sais pas faire !

Je joins un fichier d'exemple. Le premier onglet est un formulaire a remplir par l'utilisateur. Dans le deuxième onglet, je recopie automatiquement dans un certain ordre des champs définis.

Le bouton est sur le premier onglet, mais ma sélection sur le deuxième onglet (A3:G4). J'ai simplifié au maximum mon fichier.

Pouvez-vous m'aider ?

Et pour les points 2 et 3, c'est possible ?

Merci d'avance à tous

Bonjour,

dite-moi si ça va,

Bonjour SabV

Merci pour cette version, je ne savais pas que l'on pouvait passer par un fichier html temporaire !!

On peut aussi utiliser Environ("TEMP") notamment si temp n'est pas sous C:

Jerem76 a écrit :

Et pourquoi pas, si possible, qu'un message de confirmation apparaisse à l'utilisateur pour l'informé que le mail à bien été envoyé.

C'est dans sa boite d'envoi ....

Bonjour à tous,

Steelson, merci pour ce retour!

j'apprend aussi, pourrais-tu me donner un exemple de code avec Environ("TEMP") que je ne connait pas.

edit1: c'est ok je vient de comprendre que ça retourne un chemin complet

Debug.Print Environ("Temp")

est ce que ce sous-répertoire "Temp" est présent sur toute les versions (pc et mac), même si celui-ci n'a pas le même chemin source ?

edit2: tous ça, m'a fait revenir quelque souvenir lointain, au plaisir!

directement de ma cave poussiéreuse:

Private Declare Function GetTempPath _
Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long

Private Const MAX_PATH As Long = 260

Function TempPath() As String
    TempPath = String$(MAX_PATH, Chr$(0))
    GetTempPath MAX_PATH, TempPath
    TempPath = Replace(TempPath, Chr$(0), "")
End Function

Sub TmpPath()
    MsgBox TempPath & Chr(10) & Environ("Temp")
End Sub

SabV

mac, je ne connais pas, je ne pratique pas

voici un exemple avec Environ("Temp")

    nompdf = Environ("Temp") & "\" & "fichier test"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
...
    Kill Environ("Temp") & "\" & "fichier test" & ".pdf"

ok, merci Steelson

Bonjour,

désolé pour ma réponse tardive, je ne peux essayer le fichier qu'a mon travail.

Alors je viens tout juste d'essayer et c'est vraiment ce que je voulais !!!

J'ai modifié l'adresse mail pour m'envoyer le fichier en test et ça fonctionne parfaitement.

J'ai juste un problème à régler avec une fenetre qui s'ouvre chaque fois que je j'appuis sur le bouton "mail" du genre :

"avertissement concernant la confidentialité : ce document contient des macros ..."

Et pour régler ça je vais devoir faire le tour de tous les PC des chefs d'équipes ! (et faire valider par le service info, qui va me poser problème je pense)

Mais sinon cela répond parfaitement à mes attentes !

Une dernière chose, si en cliquant sur le bouton "mail", je veux que le mail parte directement sans avoir la fenetre Outlook qui s'ouvre, c'est possible ??

Encore Merci pour votre aide !

Une dernière chose, si en cliquant sur le bouton "mail", je veux que le mail parte directement sans avoir la fenetre Outlook qui s'ouvre, c'est possible ??

il faut remplacer .Display par .Send

Merci beaucoup !

Merci pour ce retour, au plaisir!

pour clôturer le fil, cliquer sur le bouton V vert du post à coté du bouton EDITER, merci!

Topic cloturé.

Encore merci

Rechercher des sujets similaires à "macro envoi mail selection donnees"