Envois de mails

Bonjour,

Alors je suis débutant en VBA et je voudrais faire un fichier pour envoyer des mails.

j'ai ma liste de contactes (destinataire du mail) donc choix d'une seule adresse mail.

j'ai une liste de contactes qui vont me servir pour mettre jusqu'à 6 personnes en copie.

j'ai une liste d'objets.

j'ai mes corps de mail (environ 25) qui vont me servir à remplir mon mail.

j'utilise Outlook.
donc pour le moment je travaille avec des enveloppes que j'ai créé (j'en suis à une 50 éne) et il en arrive tout le temps.

est il possible de mettre ça sous forme d'un fichier Excel :

liste déroulante pour choisir le destinataire, les destinataires en copie, l'objet et le corps.

comme ça je fait mon choix sur chaque menu et un bouton envoyer (création du mail mais envois de celui-ci en manuel pour d'éventuels corrections pour adapter).

mes bases de destinataires et objets sont mise à jour une fois par jour.
j'ai donc un fichier Excel avec un onglet destinataire, un onglet copie, un onglet objets.
en ce qui concerne le corps du mail j'ai un répertoire avec des fichiers txt pour chaque situation.

j'espère que je me suis bien expliqué.

pouvez-vous me dire comment je dois faire pour réaliser ce fichier

Par avance merci et bonne journée à tous

Bonjour,

Personnellement je construirais dans une feuille excel, une colonne pour les destinataires, une autre pour les copies, encore une autre avec les objets et en fin une dernière avec les adresses de fichiers texte.
Dans un Userform, de même, il faudrait alors construire 4 listBox respectivement pour récupérer les destinataires, les copies, les objets et les textes, afiin de pouvoir construire en cliquant sur ces listboxs le message que vous voulez envoyer

Je ne sais pas si mon idée peut vous convenir

A+

Merci bien je vais m'y mettre

Bonjour à tous,

Ci-joint un petit exemple qui illustre la proposition de @Jacky. Mettre à jour le chemin en I1 pour votre dossier des modèles.

13mailsauto.xlsm (25.96 Ko)

Bonjour à tous,

Merci pour vos réponses j'ai réussis via l'AI.

Voici mon code si cela peut servir.
j'ai juste à rajouter au fur et à mesure mais nouvelle données et variable.

Sub CreerEtAfficherMail()
    Dim OutlookApp As Object
    Dim Mail As Object
    Dim Destinataire As String
    Dim Copie As String
    Dim Objet As String
    Dim FichierTxt As String
    Dim TexteFichier As String
    Dim FichierPath As String
    Dim FichierComplete As String

    ' Récupérer les données
    Destinataire = Range("D3").Value
    Objet = Range("D14").Value
    FichierTxt = Range("F14").Value

    ' Construire la chaîne pour la copie (D6 à D11)
    Dim i As Integer
    Dim CopieArr As String
    CopieArr = ""
    For i = 6 To 11
        If Range("D" & i).Value <> "" Then
            If CopieArr = "" Then
                CopieArr = Range("D" & i).Value
            Else
                CopieArr = CopieArr & ";" & Range("D" & i).Value
            End If
        End If
    Next i

    ' Chemin complet du fichier
    FichierPath = ThisWorkbook.Path & "\"
    FichierComplete = FichierPath & FichierTxt

    ' Lire le fichier en utilisant ADODB.Stream pour gérer l'encodage UTF-8
    Dim Stream As Object
    Set Stream = CreateObject("ADODB.Stream")
    On Error Resume Next
    With Stream
        .Type = 2 ' Texte
        .Charset = "utf-8" ' ou "iso-8859-1" si votre fichier est en ANSI
        .Open
        .LoadFromFile FichierComplete
        TexteFichier = .ReadText
        .Close
    End With
    If Err.Number <> 0 Then
        MsgBox "Impossible de lire le fichier : " & FichierComplete, vbExclamation
        Exit Sub
    End If
    On Error GoTo 0

    ' Créer le mail
    Set OutlookApp = CreateObject("Outlook.Application")
    Set Mail = OutlookApp.CreateItem(0)

    ' Remplacer "parpar" dans l'objet par la valeur de F4
    Objet = Replace(Objet, "parpar", Range("F4").Value)
    TexteFichier = Replace(TexteFichier, "datedate", Range("F5").Value)
    With Mail
        .To = Destinataire
        .CC = CopieArr
        .Subject = Objet
        .Body = TexteFichier
        .Display
    End With
End Sub

Bonne continuation à tous.

Rechercher des sujets similaires à "envois mails"