Excel-VBA: Envoi mail avec pièce jointe

Поділитися
Вставка
  • Опубліковано 26 сер 2024
  • 2 méthodes pour envoyer un mail avec PJ
    www.up1.fr/Vid...
    Tous les classeurs Excel: up1.fr/A/UP1_C...

КОМЕНТАРІ • 71

  • @ulbricht1763
    @ulbricht1763 2 роки тому +1

    Superbe vidéo, elle date de longtemps. Je l'essaierais en 2022, j'ose espérer que ça passera. C'est exactement la solution à mon problème

  • @codingstuff8305
    @codingstuff8305 6 років тому +1

    Bonsoir,
    Merci beaucoup pour ce tutoriel rapide et très bien expliqué, j'ai adoré !
    Grace a vos explications je vais pouvoir répondre aux besoins d'un de mes clients.
    Je pensais que c’était très complexe d'envoyer un mail avec pièce jointe en VBA mais je me trompais puisque c'est très simple (a condition de connaitre les bonnes fonctions évidemment).

    • @codingstuff8305
      @codingstuff8305 6 років тому

      Bonsoir, j'ai testé de mettre en pratique votre vidéo mais à priori la ligne Create.Object("Outlook.Application") lui pose problème. Il sort une erreur de compilation de type "projet ou bibliothèque introuvable".
      Pouvez vous s'il vous plait me donner une piste sur ce qui cloche ? Je vous remercie par avance

    • @codingstuff8305
      @codingstuff8305 6 років тому

      Désolé oubliez ce que j'ai dit la solution a mon problème est dans votre vidéo... je suis un boulet.

  • @GrMfull
    @GrMfull 6 років тому +3

    J'ai eu besoin de cette fonction et j'ai cherché un bon moment, si j'avais vu cette video plus tot ... !

  • @chanyharold5432
    @chanyharold5432 4 роки тому +1

    Merci bcp

  • @gaellenoir962
    @gaellenoir962 8 років тому

    je comprends,
    merci quand même. bonne journée
    gael

  • @mbogalheiro
    @mbogalheiro 6 років тому +1

    Excellent, pas à pas ça marche
    merci Bcp pour ce tuto.

  • @semite777
    @semite777 5 років тому +1

    Merci beaucoup

  • @marvinnormand9
    @marvinnormand9 5 років тому

    Bonjour Romuald,
    Merci pour tes renseignements. Ci-joint tu trouveras une base de données pour envoyer des fichiers via des adresses mails. Cela marche très bien mais lorsque je clique sur un bouton (macro), il envoie le fichier à TOUS LES DESTINAIRES MAIL repris dans la colonne mail. Ce que je souhaiterais, est que lorsque je sélectionne le document à envoyer, celui-ci parvienne au dernier destinataire(MAIL) introduit de la colonne. Lorque j'introduirai une nouvelle ligne, c'est celle là(MAIL) que je veux et plus les autres etc.... Le (BOUTON MACRO) se situe dans la Sheet 4 et ma colonne mail se trouve dans le Sheet6 en J6 (onglet intitulé fournisseur). Pour info, le tableau est nommé Table3. Dans la programmation qui suit, serait-il possible de m'y intégrer les formules nécessaires au fonctionnement et me renvoyer l'entièreté de la programmation avec les modifs insérées.
    VOICI LA PROGRAMMATION:
    Option Explicit
    Sub EnvoiMail()
    Dim ListeDest()
    Dim ListeComment()
    Dim ListeRio()
    Dim ListeNom()
    Dim i As Long
    Dim oMsgApp As Object
    Dim oMsg As Object
    Dim sListeDest As String
    Dim sFichier As String
    sFichier = Application.GetOpenFilename(, , "Veuillez sélectionner le bon de commande de matériel à envoyer SVP !") If sFichier = "" Then MsgBox "Aucun fichier sélectionné, opération annulée"
    Exit Sub
    End If
    Set oMsgApp = CreateObject("Outlook.Application")
    ListeDest() = Range("Table3[Mail]")
    ListeComment() = Range("Table3[Event]")
    ListeRio() = Range("Table3[RIO]")
    ListeNom() = Range("Table3[Nom]")
    For i = LBound(ListeDest, 1) To UBound(ListeDest, 1)
    Set oMsg = oMsgApp.CreateItem(0)
    With oMsg
    .To = ListeDest(i, 1) .Attachments.ADD sFichier
    .Subject = "Votre bon de commande de matériel: Référence CGC/RIO -" & ListeRio(i, 1) & _ " - " & "Référence à reprendre sur toutes vos correspondances."
    .Body = "Bonjour" & " " & ListeNom(i, 1) & Chr(10) & Chr(13) & "Veuillez trouver ci-joint le bon de commande pour votre événement:" & Chr(10) & Chr(13) & _ ListeComment(i, 1) & Chr(10) & Chr(13) & "Bonne journée et vif succès avec votre événement !" & Chr(10) & Chr(13) & _ "Direction de la communication - CGC" & Chr(10) & Chr(13) & "Desk Event"
    .Send
    End With
    Set oMsg = Nothing
    Next oMsgApp.Quit
    Set oMsgApp = Nothing
    MsgBox "Votre mail a bien été envoyé"
    End Sub
    Belle journée et merci d'avance, Marc.

    • @RomualdCorreze
      @RomualdCorreze  5 років тому

      Bonjour,
      il faut d'abord faire une boucle de toute la bdd pour connaitre le n° de la derniere ligne (celle où se trouve le dernier enregistrement) ensuite on envoie le mail si on est sur le bon n° de ligne ou si le nom correspond à ceclui de notre mail.

  • @haitamelouansdi2609
    @haitamelouansdi2609 5 років тому +1

    Bonjour Romuald,
    Merci pour ce tutoriel qui m'a été très utile.
    Par-contre, j'aimerais juste savoir si on peut insérer un corps de mail dans la première macro ?

    • @RomualdCorreze
      @RomualdCorreze  5 років тому +1

      Bonsoir Haitam,
      non pour mettre un contenu de mail, utilisez la deuxième technique expliquée dans cette vidéo.
      cdlt

    • @haitamelouansdi2609
      @haitamelouansdi2609 5 років тому +1

      @@RomualdCorreze Merci pour ta réponse rapide ! Sinon ça a marché avec la deuxième macro. Merci pour le partage de l'information.

  • @gaellenoir962
    @gaellenoir962 8 років тому

    ok,
    c'est fait, merci
    gael

  • @alexisserier7251
    @alexisserier7251 6 років тому +1

    Bonjour,
    Merci pour cette vidéo. Enfin une macro qui fonctionne correctement ! Et avec des explications claires ! Pouvez vous me dire quel code mettre pour ajouter la signature Outlook svp ? J'ai essayé pleins de code trouvés sur internet mais aucun fonctionne.
    La signature se trouve (C:\Users\Alexis\AppData\Roaming\Microsoft\Signatures\Logo&Texte.htm"). Merci d'avance

    • @RomualdCorreze
      @RomualdCorreze  6 років тому

      Bonjour Alexis,
      le plus simple est sans doute de copier votre signature d'outlook,
      d'aller à la 17ème minute et 40 secondes de la vidéo et
      après contenu = contenu & "Ci-joint votre document"
      vous ajoutez immédiatement en dessous :
      contenu = contenu & "votre signature outlook"
      Voila, vous ne touchez pas au reste.

  • @btkdiag8112
    @btkdiag8112 7 років тому

    Bjr Romuald, le code première méthode n est pas prise en compte sur mac (les : avant = / , apres Name...) MERCI À TOI

  • @excelvba2192
    @excelvba2192 2 роки тому

    Bonsoir a vous s'il vous plait dans le module envoyer mail+pj est ce qu'on peux rajouter plusieurs adresse comme dans le module envoyer ce classeur ? Merci et bon fin de soirée

    • @RomualdCorreze
      @RomualdCorreze  2 роки тому

      Oui c'est possible, en faisant une boucle par exemple

  • @jcbg3003
    @jcbg3003 4 роки тому

    Bonjour,
    un immense merci pour ce tuto excellent !!! bravo
    une question: si on veut envoyer la Pièce jointe + le Classeur , c'est possible ?
    merci et bonne fin de journée
    jérôme

    • @RomualdCorreze
      @RomualdCorreze  4 роки тому +1

      Bonjour,
      à ce moment là il vaut mieux utiliser un logiciel d'emails comme outlook
      il ne faut pas oublier qu'excel est fait pour la création de tableaux ;-)

    • @jcbg3003
      @jcbg3003 4 роки тому

      @@RomualdCorreze merci. C'est effectivement logique 😁.

  • @frogeregis
    @frogeregis 6 років тому +1

    Merci

  • @ffsddfgsfsfsdfxcc
    @ffsddfgsfsfsdfxcc Рік тому

    merci, si on veux envoyer par gmail, quelles doivent etre les modifications ?

    • @RomualdCorreze
      @RomualdCorreze  Рік тому

      vous devez paramétrer votre compte gmail sur Outlook, simplement

  • @isaac9604
    @isaac9604 3 роки тому +1

    Bonjour,
    Super tuto.
    J’aimerais envoyer qu’une feuille du classeur par mail, possible d’avoir une video tuto car j’arrive pas à l’exécuter. Merci

    • @RomualdCorreze
      @RomualdCorreze  3 роки тому

      Bonjour et merci,
      il suffit de supprimer les autres feuilles de calcul et d'envoyer par email.
      bien sur ne pas enregistrer ;-)

  • @labouleducentre2290
    @labouleducentre2290 4 роки тому

    Bonjour Romuald, très bien fait. J'aurais voulu savoir si c'est possible si le destinataire pourrais faire des rajouts sur la feuille envoyée et me renvoyer également avec un bouton VBa, si tu vois ce dont je veux dire (échange de fichier)......Merci de ta réponse, Chris

    • @RomualdCorreze
      @RomualdCorreze  4 роки тому

      Bonjour,
      à partir du moment où c'est un fichier excel qu'on envoi
      le destinataire peut le modifier et le renvoyer
      ce n'est pas le cas s'il on enregistre le fichier en pdf.

  • @FL-lg8hl
    @FL-lg8hl 6 років тому +1

    Bonjour,
    félicitation pour ce tuto parfait. Pourriez vou sme dire comment d'une part, avoir tout d'abord accès au mail avant envoi sur le premier module (si on veut en modifier le corps), et d'autre part, comment ne pas envoyer le classeur excel, mais sa conversion en pdf.
    Par avance merci.
    cordialement

    • @RomualdCorreze
      @RomualdCorreze  6 років тому

      Bonjour, pour pouvoir modifier le corps du mail avant envoi, le mieux serait sans doute de créer un formulaire pré-rempli permettant la modification.
      Avec cette vidéo vous savez comment envoyer une pièce jointe dans un email, voici comment convertir un classeur Excel en PDF : ua-cam.com/video/IRyCTcBVpO4/v-deo.html

  • @TheEvOGaming14
    @TheEvOGaming14 4 роки тому

    Bonjour,
    J'ai un problème avec cette ligne: Set MonMessage = MaMessagerie.CreateItem(0)
    Erreur d’exécution "91":
    Variable objet ou variable de bloc With non définie

    • @RomualdCorreze
      @RomualdCorreze  4 роки тому

      Bonjour,
      reprenez la macro exactement comme sur la vidéo, sans doute un oubli ou un problème d'orthographe

  • @cherifaidara2598
    @cherifaidara2598 6 років тому +1

    Bonjour Romuald, très utile votre vidéo. A tout hasard, auriez-vous la même méthode pour ceux qui utilisent LOTUS NOTES? MErci

    • @RomualdCorreze
      @RomualdCorreze  6 років тому

      Merci Chérif.
      hélas non, je ne fais qu'avec Windows et Excel

    • @cherifaidara2598
      @cherifaidara2598 6 років тому

      Merci pour votre réponse. Cependant, en essayant la première méthode, j'obtiens un mail avec la piéce jointe mais il ne s'envoie pas automatiquement. Pouvez-vous m'eclairer afin que je l'envoie sans avoir à cliquer sur "Envoyer"? Je précise que j'utilise Lotus Notes en messagerie et non Outlook.

  • @bouchermathieu8109
    @bouchermathieu8109 2 роки тому

    Bonjour,
    Merci pour cette presentation. J'aurai 2 questions :
    1) Comment faire pour garder la meme structure mais envoyer PLUSIEURS pieces jointe dans le mail ?
    2) Est il possible d'afficher le mail avant de l'envoyer ?
    Merci

    • @RomualdCorreze
      @RomualdCorreze  2 роки тому

      Bonjour,
      1 - remplacer la ligne getopenfilename..... par
      Fichier = Application.GetOpenFilename("Fichiers Texte (*.*),*.*,Tous les fichiers (*.*),*.* ", 1, "Sélectionnez le ou les fichiers des écritures à importer", , True)
      2- remplacez If Fichier = False Then par
      If IsArray(Fichier) = False Then
      3 - remplacez MonMessage.Attachments.Add Fichier par
      For i = 1 To UBound(Fichier)
      MonMessage.Attachments.Add Fichier(i)
      Next
      that's all folks !

  • @joachimtscherwinka7338
    @joachimtscherwinka7338 5 років тому

    Bonsoir Romuald,
    Déjà un grand merci de me répondre.
    Voila, j'ai fais un dossier pour envoyer hebdomadairement des résultats de pétanques et deux des adresses courriels sont toujours identiques
    mais la troisième adresse change chaque semaine, Cette adresse se retrouve chaque semaine sur une feuille dénommée Feuille de Match à l'emplacement "H50" et c'est cette feuille que j'envoie.
    Bonne journée. suite avec la macro.

    • @RomualdCorreze
      @RomualdCorreze  5 років тому +1

      bonjour,
      voici
      'Sub envoiClasseur()
      'Envoi du classeur actif par mail, à plusieurs destinataires.
      destinataires = Array("1erEmail@gmail.com", "2emeEmail@gmail.com", sheets("Feuille de Match").range("H50").value
      )
      ActiveWorkbook.SendMail Recipients:=destinataires, _
      Subject:="Classeur en cours " & ActiveWorkbook.Name, ReturnReceipt:=False
      ' Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
      'End Sub

  • @vincentbodart3762
    @vincentbodart3762 5 років тому

    Bonjour.Merci pour ce tuto génial.J'ai un tableau qui comporte plusieurs infos dans ces infos il y a une colonne qui contient les adresses mail des personnes.Ma question, est 'il possible qu'il prend automatiquement les mails dans le tableau, et de faire soit envoyer à tous ou envoyer a certaine personne? comment pouvons nous faire cela?bien à vousvincent

    • @RomualdCorreze
      @RomualdCorreze  5 років тому

      bonjour Vincent,
      oui, le programme le fait déjà dans cette vidéo, il faut parcourir la liste des emails dans une boucle par exemple et envoyer l'email dans une condition.

  • @mrsouleymane73
    @mrsouleymane73 4 роки тому +1

    C'est très intéressant j'ai beaucoup apprécié mais ça n'a pas marché.

    • @RomualdCorreze
      @RomualdCorreze  4 роки тому

      essayez donc de reprendre votre code avec la vidéo, pas à pas.
      Parfois la moindre erreur, un virgule, un point, empêche tout fonctionnement

    • @mrsouleymane73
      @mrsouleymane73 4 роки тому

      C'est prodigieux, très intéressant d'envoyer un classeur Excel par mail. C'est très clair ce que vous avez fait. J'avais fait la même chose mais ça n'a pas marché. Je vais encore réessayer pour voir.

  • @marvinnormand9
    @marvinnormand9 5 років тому

    Bonjour Romuald,
    Merci pour ce tuto. Cela fonctionne super bien.
    Je souhaiterais apporter des données suppléméntaires. En fait, je souhaiterais récupérer des adresses mails et noms des événements qui se trouvent dans le même fichier, mais dans des sheets différents. (ex: toutes mes adresses mail se trouvent sur le sheet (6) en J6 et les événements sur le sheet (6) en O6.
    Pouvez-vous m'aider sur l'écriture et où l'insérer dans votre programmation VBA.
    Je cherche, mais je n'y arrive pas.
    Merci d'avance.
    Au plaisir
    Marc.

    • @RomualdCorreze
      @RomualdCorreze  5 років тому

      Bonjour,
      vous pouvez mettre vos données supplémentaires dans des variables ex : adMail = sheets(6).range("J6").value et evenments = sheets(6).range("O6").value
      et ensuite vous ajoutez ces valeurs à "contenu" (voir à 17'40" de la vidéo)
      genre :
      contenu = contenu & adMail & chr(10) & chr(13)
      contenu = contenu & evenments & chr(10) & chr(13)

  • @fournylaurent2583
    @fournylaurent2583 8 років тому

    Bonjour Romuald,
    Je te remercie pour cette vidéo. J'essaie d'envoyer à un destinataire plusieurs feuilles d'un même classeur mais n'y arrive. Quelle solutions peux tu m'apporter en conservant le contenu de ton code ?
    Merci par avance de ta réponse.

    • @RomualdCorreze
      @RomualdCorreze  8 років тому

      +FOURNY Laurent Bonjour Laurent, le code envoi toutes les feuilles du classeur d'office.
      Si tu veux n'en envoyer que certaines, enregistre ton classeur "sous" un autre nom avec les seules feuilles que tu souhaites envoyer et sélectionne ce classeur là pour l'envoi.
      Romuald

  • @gaellenoir962
    @gaellenoir962 8 років тому

    Bonsoir Romuald,
    merci de ta réponse. En fait je voudrais envoyer un mail avec en pièce jointe une feuille du classeur affecté à une adresse mail. J'ai 15 feuilles et 15 adresses est-ce possible ?
    merci à toi.
    bonne soirée
    gael

    • @RomualdCorreze
      @RomualdCorreze  8 років тому

      +Gaël Lenoir re Gaël, il faut faire une boucle qui à chaque tour envoi au destinataire actuel l'onglet qui lui correspond. il y a des tas de façons de faire ex:
      ta boucle parcours chaque onglet et à chaque onglet tu as glissé le mail concerné en range("XFD1")
      tu envoi le mail ayant pour valeur range("XFD1").value
      et la boucle s’arrête après le dernier onglet.

  • @magali7043
    @magali7043 7 років тому

    Bonsoir,
    Apres avoir vu votre tuto sur l'envoi d'un mail
    est ce possible d'envoyer un onglet faisant parti d'un dossier (style planning mensuel )
    merci d'avance de votre reponse
    bonne soiree,
    cordialement,
    Thierry

    • @RomualdCorreze
      @RomualdCorreze  7 років тому

      bonjour,
      oui, tout à fait Thierry !
      voici une petite macro de derrière les fagots:
      Sub envoiOnglet()
      'ENVOI 1 ONGLET A PLUSIEURS DESTINATAIRES
      destinataires = Array("contact@up1.fr", "addr2@gmail.com")
      Application.DisplayAlerts = False
      'ON OUVRE LE CLASSEUR Où SE TROUVE L'ONGLET A ENVOYER
      Workbooks.Open ThisWorkbook.Path & "\classeurOK.xlsm"
      For Each nom In destinataires
      'SELECTIONNE L'ONGLET A ENVOYER
      Workbooks("classeurOK.xlsm").Sheets("Personnel").Copy
      'ENVOI DU MAIL
      ActiveWorkbook.SendMail Recipients:=nom, _
      Subject:="Test envoi classeur " & ActiveWorkbook.Name, _
      ReturnReceipt:=False
      Workbooks("classeurOK.xlsm").close
      Next
      Application.DisplayAlerts = True
      End Sub

    • @magali7043
      @magali7043 7 років тому

      MERCI BEAUCOUP
      JE VAIS ESSAYER DEMAIN DE METTRE CELA EN PLACE
      VOUS INFORME DE MON RESULTAT
      CDLT,
      THIERRY

  • @ericvandroux7443
    @ericvandroux7443 4 роки тому

    bonjour ,
    Cette ligne a un probleme et je ne voie pas se que sais :Set MaMessagerie = CreateObject("Outlook.Application")
    Sub envoiMail()
    Dim Fichier As Variant
    Fichier = Application.GetOpenFilename("Tous les Fichiers(*.*),*.*")
    MsgBox Fichier
    Dim MaMessagerie As Object
    Dim MonMessage As Object
    Set MaMessagerie = CreateObject("Outlook.Application")
    Set MonMessage = MaMessagerie.createitem(0)
    MonMessage.To = "inter-bmo-2020@outlook.fr"
    MonMessage.Attachements.Add Fichier
    MonMessage.Suject = " Test d'envoi"
    contenu = "Bonjour"
    contenu = contenu & Chr(10) & Chr(13)
    contenu = contenu & "Ci-joint votre document."
    MonMessage.Body = contenu
    MonMessage.Send
    Set MaMessagerie = Nothing
    End Sub

    • @RomualdCorreze
      @RomualdCorreze  4 роки тому

      Bonjour Eric
      Avez-vous bien déclaré la variable Fichier en variant ?

  • @Shomy2000
    @Shomy2000 7 років тому

    Salut,
    J'ai très apprécié ton Tuto, mais j'aimerais savoir s'il possible d'envoyer un email a des personnes en choisissant un courriel à chaque fois et aussi envoyer non pas le classeur mais juste la feuille de travail sur laquelle on est.
    Je m'explique, vu que je suis gestionnaire dans une compagnie et que je dois envoyer à mes gars leur horaire qui se trouve sur une première feuille générale, et dans la deuxième un Template plus individuelle que j'aimerais envoyer à chaque gars , est ce que c'est possible ?
    Cordialement,

    • @RomualdCorreze
      @RomualdCorreze  7 років тому +1

      bonjour,
      oui c'est possible.

    • @Shomy2000
      @Shomy2000 7 років тому

      OK cool est ce qu'il serait possible que tu me guide un peu pour l'envoie individuel des emails en choisissant le destinataire svp :) ? Et BTW Merci pour ta réponse rapide

    • @RomualdCorreze
      @RomualdCorreze  7 років тому +1

      malheureusement non, faut que je travaille

    • @Shomy2000
      @Shomy2000 7 років тому

      Merci :)

  • @abdouzenasni1531
    @abdouzenasni1531 8 років тому

    comment sauvegarder les facture les stoker et les ouvrir quand en a besoin merci

    • @RomualdCorreze
      @RomualdCorreze  8 років тому

      +Abdou Zenasni voir ce tuto : ua-cam.com/video/m_9GaHCK4c4/v-deo.html

  • @gaellenoir962
    @gaellenoir962 8 років тому

    Bonjour Romuald,
    je viens de jeter un œil sur le UP1.fr. Les échanges de qualités que nous avons eu et la démonstration par la vidéo ou je vois bien que vous connaissez bien le sujet me rassure. Alors voila,
    j'ai 50 ans et j'aime bien Excel. je suis Agent de Maîtrise Principal dans la fonction Publique Hospitalière. Je gère des transports de patients avec une régulation d'un coté et des brancardiers de l'autres. Dans mon travail j'ai construis l'outil informatique de la régulation moi même faute de logiciel spécialisé (trop chère) j'essaye de trouver des solutions pour aider mes régulateurs et les soulager dans le quotidien. J'utilise quelques fonctions avancée.
    J'ai bien envie d'essayer d'apprendre le VBA mais à mon age ? est-ce trop tard?
    Comment cela se passe? quel prix? le lieu de l’école ? en CFP OU formation continue ?
    Même perso s'il faut et si pas trop cherre.
    dans l'attente,
    bonne journée,
    gael

    • @RomualdCorreze
      @RomualdCorreze  8 років тому

      +Gaël Lenoir
      Bonjour Gaël, On nous dit qu'il faut travailler jusqu'à 65 ans, voire plus alors si on est fichu à 50 ans comment fait-on ??? ;-)
      Rassurez-vous 50 ans c'est le bel age !
      Les formations que je dispense sont reconnues par l'Etat et à ce titre elles sont généralement financées à 100%
      Je vous propose de me contacter via mon site web où vous trouverez un formulaire,
      cliquez sur "Voir une autre page" puis sur "Contactez-nous"
      indiquez moi votre n° de téléphone et l'heure à laquelle je peux vous joindre.
      Mon site: www.up1.fr
      cordialement,
      Romuald

  • @gaellenoir962
    @gaellenoir962 8 років тому

    Bonjour Romuald,
    Peux-tu m’écrire le modèle? car je n'y connais rien en programmation et j'ai juste recopier ce que tu fais dans ta vidéo. Je sais pas ce que sais une boucle. Je suis nul en programmation mais j'essaye un petit peu.
    merci à toi
    gael

    • @RomualdCorreze
      @RomualdCorreze  8 років тому

      +Gaël Lenoir bonjour Gaël, si tu n'as pas un minimum de connaissance tu n'y arriveras pas, un copier coller ne résout pas tous les problèmes. Un tutoriel s'adresse à des gens ayant de bonnes bases et voulant évoluer, pas à des novices.
      Quand on débute, on prend des cours, et ça coûte des sous parce que l'éducation nationale gratuite est loin d'être au niveau.
      C'est pour ça que j'ai du travail.

  • @marvinnormand9
    @marvinnormand9 5 років тому

    Bonjour Romuald,
    Merci pour tes renseignements.
    Ci-joint tu trouveras une base de données pour envoyer des fichiers via des adresses mails. Cela marche très bien mais lorsque je clique sur un bouton (macro), il envoie tous le fichier à TOUS LES DESTINAIRES MAIL repris dans la colonne mail. Ce que je souhaiterais, est que lorsque je sélectionne le document à envoyer, celui-ci parvienne au dernier destinataire introduit de la colonne. Lorque j'introduirai une nouvelle ligne, c'est celle là que je veux et plus les autres etc....
    Le (BOUTON MACRO) se situe dans la Sheet 4 et ma colonne mail se trouve dans le Sheet6 en J6 (onglet intitulé fournisseur). Pour info, le tableau est nommé Table3.
    Dans la programmation qui suit, serait-il possible de m'y intégrer les formules nécessaires au fonctionnement et me renvoyer l'entièreté de la programmation avec les modifs insérées.
    VOICI LA PROGRAMMATION:
    Option Explicit
    Sub EnvoiMail()
    Dim ListeDest()
    Dim ListeComment()
    Dim ListeRio()
    Dim ListeNom()
    Dim i As Long
    Dim oMsgApp As Object
    Dim oMsg As Object
    Dim sListeDest As String
    Dim sFichier As String
    sFichier = Application.GetOpenFilename(, , "Veuillez sélectionner le bon de commande de matériel à envoyer SVP !")
    If sFichier = "" Then
    MsgBox "Aucun fichier sélectionné, opération annulée"
    Exit Sub
    End If
    Set oMsgApp = CreateObject("Outlook.Application")
    ListeDest() = Range("Table3[Mail]")
    ListeComment() = Range("Table3[Event]")
    ListeRio() = Range("Table3[RIO]")
    ListeNom() = Range("Table3[Nom]")
    For i = LBound(ListeDest, 1) To UBound(ListeDest, 1)
    Set oMsg = oMsgApp.CreateItem(0)
    With oMsg
    .To = ListeDest(i, 1)
    .Attachments.ADD sFichier
    .Subject = "Votre bon de commande de matériel: Référence CGC/RIO -" & ListeRio(i, 1) & _
    " - " & "Référence à reprendre sur toutes vos correspondances."
    .Body = "Bonjour" & " " & ListeNom(i, 1) & Chr(10) & Chr(13) & "Veuillez trouver ci-joint le bon de commande pour votre événement:" & Chr(10) & Chr(13) & _
    ListeComment(i, 1) & Chr(10) & Chr(13) & "Bonne journée et vif succès avec votre événement !" & Chr(10) & Chr(13) & _
    "Direction de la communication - CGC" & Chr(10) & Chr(13) & "Desk Event"
    .Send
    End With
    Set oMsg = Nothing
    Next
    oMsgApp.Quit
    Set oMsgApp = Nothing
    MsgBox "Votre mail a bien été envoyé"
    End Sub
    Belle journée,
    Marc.