Créer un bouton pour l'envoi de mail
Bonjour je rencontre un problème dans le "programma VBA" créé pour envoyer un mail à plusieurs formateurs.
En voici l'écriture:
Private Sub CommandButton1_Click()
Dim LeMail As Variant
Dim Ligne As Integer
Set LeMail = CreateObject("outlook.Application")
For Ligne = 7 To 14
With LeMail.CreateItem(olMailItem)
.Subject = "Réunion préparatoire"
.To = Range("k" & Ligne)
.Body = Range("e26")
.Send
End With
Next Ligne
End SubEdit modo : merci de mettre le code entre balises SVP avec le bouton </>
La ligne ".To = Range("k" & Ligne)" apparait en jaune précédée d'une flèche. Un message m'indique "erreur d'exécution 440: Cet objet ne prend pas en charge cette méthode avec les boutons "fin" et "débogage".
Malgré tout les mails sont envoyés avec les bons contenus aux bons destinataires.
Pourriez vous m'aider à corriger ce défaut.
Par ailleurs j'aimerais qu'un message de confirmation d'envoi apparaisse afin de confirmer l'envoi ou de l'annuler. Merci beaucoup pour votre aide.
Bonjour guigue et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.
Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)
Concernant votre demande, je pende qu'il faut faire ainsi
.To = Range("k" & Ligne).Value
.Body = Range("E26").ValueMerci pour votre participation
A+
Bonjour je viens de modifier comme conseillé. Le code d'erreur persiste. "Erreur d'exécution 440: cet objet ne prend pas en charge cette methode
Bonsoir,
Alors faisons ça proprement
Sub EnvoyerMail()
' Déclaration des variables utilisées dans le code
Dim OutObj As Object, Email As Object
' Création d'une instance Outlook pour envoyer un mail
Set OutObj = CreateObject("Outlook.Application")
Set Email = OutObj.CreateItem(0)
' Avec mon objet Email
With Email
.Display ' Afficher le mail pour afficher la signature
' Destinataire(s) du mail
.To = "emaildestinataire@fai.fr"
' Copie du mail
.CC = "emaildestinataire@fai.fr"
' Sujet de l'eMail
.Subject = "Ceci est le sujet de mon mail"
' Corps du mail avec signature à la fin
.HtmlBody = "Bonjour," & "<BR><BR>" _
& "Ceci est un exemple<BR><BR>" & .HtmlBody
' Joindre le fichier précédemment créé
' Envoyer l'email
'.Send
End With
' Effacer les variable objet
Set Email = Nothing: Set OutObj = Nothing
End Subje me permets d'abuser de votre gentillesse. Quelle serait la ligne de commande pour que le premier mail soit envoyé à l'adresse se trouvant en cellule k7, le suivant à l'adresse k8 et ainsi de suite.