Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bouton Macro pour envoi mail de formulaire une fois rempli

virtuelle13

XLDnaute Nouveau
Bonjour à tous,

Je profite de ce message pour vous souhaiter une excellente Année 2010.
Que celle-ci vous soit clémente et voit la réussite des projets qui vous tiennent à cœur.

Pour en venir à mon problème :

j'ai crée un formulaire à télécharger sur mon site, puis à compléter.
je souhaite créer une macro pour qu'une fois ce formulaire rempli, on clique sur un bouton macro et celui-ci me soit transmis directement par mail.
Peu importe qu'il soit sous la forme d'un classeur ou d'une feuille.

je remercie par avance tous ceux qui essaieront de m'aider.

bonne soirée
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour Virtuelle13 ,
Tu trouveras plein de fil sur la question des envois par mail sur le forum, mais... tu vas tomber sur plein de cas de figure en fonction de la configuration de celui qui va télécharger ton fichier (OS, version Office, type de messagerie, blocages anti-spam...) ...
Pourquoi ne pas programmer ton formulaire directement sur le site ?
Ou alors, utilises un formulaire Acrobat...
Bon courage
 

virtuelle13

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour JNP et merci pour ta réponse.
J'ai effectivement parcouru tout le forum ou presque en filtrant les sujets sur Macro.... oui il y en a pas mal, mais je n'ai pas trouvé exactement ce que je souhaite.
J'ai donc pris plusieurs codes et depuis hier j'essaie de les combiner mais n'y comprenant pas grand chose en macro complexe... je me prend la tête, mais je pense tenir le bon bout.

voici le contenu de ma macro, qui coince ... peut être pourras tu me dire où

Sub EnvoiMail()
Application.DisplayAlerts = False
Workbook.SendMail Recipients:="taratata@turliponpon", _
Subject:="Formulaire diagnostic en ligne", _
ReturnReceipt:=True
End Sub

Merci d'avance et bon dimanche
 

virtuelle13

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Wahouuuuuu !!!! ç 'est super. ça marche. Trop fort !

Je t'envoie des tonnes de bisous si je peux me le permettre.
Je suis trop contente et tellement honteuse aussi d'avoir passé tant d'heures à chercher alors qu'au final c'était tout bête.
Quoiqu'il fallait aussi le savoir...

Mille "MERCI" JNP et je te souhaite une merveilleuse année 2010 ainsi qu'à tous toutes tes brutes d'élèves
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Re ,
Je t'envoie des tonnes de bisous si je peux me le permettre.
C'est bon, je le dirai pas à ma femme ...
Mais avant de le mettre en ligne, fait le tester par des collègues sous différents environnements (Mac, XP, Vista, Seven) et versions (2000, 2003, 2007), ça t'évitera des surprises .
A la limite, poste-le sur un fil en demandant un test des gens du forum avec retour suivant leur config .
Bon courage
 

virtuelle13

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Mais tu peux le dire à ta femme. Ce ne sont que des bisous de joie et sur la joue ....

Ok, je vais le faire tester. Mais travaillant sur Excel 2007, lors de l'enregistrement, je l'ai fait en mode compatibilité avec versions antérieures. cela ne suffit pas ? Un ami vient de le tester sur 2003 et ça fonctionne en tout cas. Je vais quand même faire le tour de mes connaissances.

Re bisous et Re Merci
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Re ,
Mais travaillant sur Excel 2007, lors de l'enregistrement, je l'ai fait en mode compatibilité avec versions antérieures. cela ne suffit pas ?
Le mode compatibilité ne joue que sur le côté tableur, pas sur les macros... Ainsi, si tu enregistres un tri avec l'enregistreur de macro sous 2007, il ne fonctionnera pas sous 2003 (même en mode de compatibilité...).
Comme tu utilises SendMail, ça pose moins de problème que si tu passais par OutLook où tu as besoin d'ouvrir la référence (qui n'est pas la même en fonction de la version d'Office...), mais les tests sont toujours nécessaires quand tu ne sais pas sur quel poste tes macros vont tourner (et je connais des gens qui sont encore en 97 au boulot...).
Bon dimanche
 

virtuelle13

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

D'accord. Encore merci pour tes lumières. Je vais embêter tout mon entourage de ce pas... un dimanche... ils vont être heureux de m'avoir connu.
Bon dimanche à toi aussi et peut être à bientôt si je rencontre un soucis auquel je ne trouve pas de réponse sur le forum
 

Djdbl

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour

j'utilise cette macro et je voudrais savoir s'il y a moyen de la modifier de telle façon que la macro vienne chercher une adresse mail se trouvant dans une cellule précise du classeur en question.

Merci beaucoup
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonsoir Djdbl et bienvenue ,
Dans la macro
Code:
Sub EnvoiMail()
Application.DisplayAlerts = False
ThisWorkbook.SendMail Recipients:=[COLOR=red][B]"taratata@turliponpon"[/B][/COLOR], _
Subject:="Formulaire diagnostic en ligne", _
ReturnReceipt:=True
End Sub
l'adresse d'envoi est en rouge. Donc en admettant que ta cellule soit "A1" de la feuille "Feuil1"
Code:
Sub EnvoiMail()
Application.DisplayAlerts = False
ThisWorkbook.SendMail Recipients:=[COLOR=red][B]Sheets("feuil1").Range("A1").Value[/B][/COLOR], _
Subject:="Formulaire diagnostic en ligne", _
ReturnReceipt:=True
End Sub
devrais fonctionner.
Bonne soirée
 

Djdbl

XLDnaute Nouveau
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Bonjour à tous

j'aurai encore uen petite question. Lors de l'envoi du mail on a bien un sujet qui est ajouté via la ligne

Code:
Subject:="Formulaire diagnostic en ligne", _

Peut-on ajouter aussi juste un petit message dans le corps du mail (par exemple "Bonjour") ?

Merci par avance
 

JNP

XLDnaute Barbatruc
Re : Bouton Macro pour envoi mail de formulaire une fois rempli

Re ,
D'après l'aide, SendMail ne reconnait que 3 propriétés : Destinataire, Objet et Accusé de réception...
Pour mettre un corps de message, il va falloir passer par d'autre macros, comme par OutLook :
Code:
    Dim OlApp As Outlook.Application
    Dim OlItem As Outlook.MailItem
    Set OlApp = CreateObject("Outlook.application")
    Set OlItem = OlApp.CreateItem(olMailItem)
    With OlItem
        .To = "[EMAIL="xxxxxxx@xxxxx.xx"]xxxxxxx@xxxxx.xx[/EMAIL]"
        .CC = "[EMAIL="xxxxx.xxxx@xxxxxxx.xxx"]xxxxx.xxxx@xxxxxxx.xxx[/EMAIL]"
        .Subject = "Test"
        .BodyFormat = olFormatHTML
        .HTMLBody = "<HTML><body>Ce <b>mot</b> est en gras.<p>" _
        & "Ce " & "<u>mot</u> est souligné.<p>" & "Ce " _
        & "<FONT COLOR=RED>mot</FONT> est en rouge.<p>" _
        & "Ce " & "<i>mot</i> est en italique.<p>" & _
        "<b><i><u><font color=green>Ce format est vert, gras, italique et souligné !</font></u></i></b></body><HTML>"
        .Display 'Ou .Send
    End With
Là, c'est un exemple avec de la présentation HTML, mais si tu remplaces .BodyFormat et .HTMLBody par .Body = "Bonjour", cela fera du texte brut.
.Display ouvre le message sur OutLook sans l'envoyer, .Send l'enverra (n'utiliser qu'un seul des 2 arguments) mais tu auras un petit message de sécurité d'OutLook qui te demandera confirmation de l'envoi (contre les virus spammeurs...).
Bon courage
 

Discussions similaires

Réponses
27
Affichages
841
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…