Envoyer plusieurs fichiers à son destinataire Via Outlokk

Bonjour à tous,

j'aimerais envoyer plusieurs fichiers excel à chaque destinataire (concerné par ses fichiers)

j'ai essayer de récupérer un code et de l'adapter mais étant novice dans le code VBA je n'y parviens pas.

Ce que j'aimerais que la macro fasse c'est aller chercher les fichiers dans un répertoire (D\Mes documents), identifier ceux qui sont destinés au même destinataire et les envoyer dans un seul mail.

Chaque destinataire varie et le nombre de fichier varie aussi

Les 9 premières lettre des fichiers contiennent l'adresse de chaque destinataire.

exemple : les fichiers z80113840 x ; z80113840 y; z80113840 z doivent être envoyés au z80113840

les z80113841 x; z80113841 z doivent être envoyés au z80113841 ...et ainsi de suite

en pièce jointe vous trouverez une macro incomplète ou peut être inadaptée et la capture d'écran de mon répertoire

Merci par avance de votre aide

capture

Hello,

Teste ce code :

Sub multiple_file()
    Dim mess_body As String, StrFile As String, StrPath As String
    Dim appOutLook As Outlook.Application
    Dim MailOutLook As Outlook.MailItem

    Set appOutLook = CreateObject("Outlook.Application")
    Set MailOutLook = appOutLook.CreateItem(olMailItem)

    '~~> Change path here
    StrPath = "C:\Tampon\"

    With MailOutLook
        .BodyFormat = olFormatRichText
        .To = "test@test.org"
        .Subject = "Rapport d'appels du mois d'"
        .HTMLBody = "Bonjour, " & _
                    vbCrLf & vbCrLf & _
                    "Ci-joint le fichiers des appels du mois passé pour votre agence." & _
                    vbCrLf & vbCrLf & _
                    "Nous restons bien entendu à votre disposition pour tout renseignement complémentaire." & _
                    vbCrLf & vbCrLf & _
                    "Cordialement." & _
                    vbCrLf & vbCrLf

        '~~> *.* for all files
        StrFile = Dir(StrPath & "*.*")

        Do While Len(StrFile) > 0
            .Attachments.Add StrPath & StrFile
            StrFile = Dir
        Loop

        '.DeleteAfterSubmit = True
        .Display
    End With

    MsgBox "Les rapports sont envoyés correctement", vbOKOnly
End Sub

Juste j'ai pas compris un truc dans ton code,

Tu veux mettre les noms des fichiers comme destinataire ?? Si oui je sais pas trop comment faire mais je pense pas que ta variable soit correcte

 
With Mail
        .To = dest(i)

Merci pour ta réponse, j'essaierai demain au boulot. En faite le destinataire du message est composé des 9 premiers caracteres du fichier. Si la macro entre ces 9 premiers caracteres dans le destinataire outlook ça va partir. Dans ta macro tu prévois la copie de ces 9 caractéres dans outlook ?

Hello,

Regarde ce fichier en PJ qui va selectionner les caractéres du fichier en destinataire du message avec les 9 premiers caractéres.

En revanche je suis obligé d’écrire les destinataires sur une feuille. Mais si ça te conviens ont peut l'améliorer avec une variable mais faut que je cherche , j'ai pas le code en tête.

99raphdasv1.xlsm (20.98 Ko)

Bonjour,

Merci de ta réponse tout d'abord. Je viens de tester et ça à l'air pas mal. Par contre la macro envoi tous les fichiers à tous les destinataires. Or j'aurais voulu que le z80113840 reçoive tous les fichiers commençant par z80113840 dans un mail et que le z80113841 reçoive tous les fichiers commençant par z80113841 dans un autre mail.

la Macro met aussi autant de fois l'adresse du destinataire qu'il y a de fichiers à envoyer. Une fois suffit

pour résumer le z80113840 devrait recevoir ses fichiers z80113840 x, z80113840 y, z80113840 z dans un mail qui lui est propre

Si tu peux faire quelque chose c'est tant mieux sinon c'est pas grave car ça m'a l'air compliqué

A+

capture

Re-bonjour,

Une V3 qui envoi le mail en fonction du nom du dossier comme tu as demandé, donc un mail avec la piéce jointe qui correspond au lieu d'un envoi groupé.

Faut que je trouve comment mettre les piéces jointe qui ont le même nom si le nom du destinaitaire est le même comme demandé. Mais dis moi si ça correspond déja

109raphdasv3.xlsm (20.41 Ko)

Je teste demain au boulot et tiendrai au courant.

Merci beaucoup

Bonjour,

Je viens de tester. La macro envoi aux adresses concernées leur fichier mais au lieu de faire un seul message avec toutes les pièces jointes elle créer autant de messages qu'il y a de fichiers. C'est déjà bien

Bonne journée

Hello,

Comme je te disais on y est presque , j'ai une idée pour faire ce que tu veux avec toutes les PJ, j'essaye de te faire un retour dans la journée.

Pense à remplacer dans le code la ligne

.display 

'par 

.send

'pour envoyer en automatique 

Hello,

Je pense qu'on arrive à un truc pas mal avec cette V4.

La ça prend les PJ pour chaque destinataire.

Voila avec mes fichiers en exemple ça marche bien.

capture email
160raphdasv4.xlsm (23.54 Ko)

Salut,

J'essaie demain et te fais un retour. Merci et bonne soirée

Génial ça marche. Je te remercie mille fois. Je vais me pencher sur le code dés que je pourrai pour comprendre la démarche

Pour l'instant je laisse le code en affichage (Display) car sinon le message partirait alors que ce sont des fichiers d'exemple

Bonne journée

Parfait ,

Si tu veux comprendre le code, pour envoyer les mails je me suis inspiré de ce site.

http://www.rondebruin.nl/win/s1/outlook/bmail5.htm

Après j'ai fait en sorte que pour un numéro de fichier les chemins pour accéder aux PJ soient sur la même ligne.

Aller à la prochaine.

Rechercher des sujets similaires à "envoyer fichiers destinataire via outlokk"