Macro Excel, envoi Email

  • Initiateur de la discussion Initiateur de la discussion toune21
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

toune21

XLDnaute Impliqué
Bonjour à tous,
Je viens de copier la macro de JB, oups il n'est pas là 😕 pour envois d'une cinquantaine de mails, toutes les adresses vont dans CC, j'aurai voulais savoir si je peux mettre que la première adresse en Cc et les autres en Cci.
Merci
 
Re : Macro Excel, envoi Email

Hello,

Sur ce que j'ai vu, tous les destinataires étaient pour le destinataire A et rien pour Cc comme tu dis.. pas évident à comprendre tes explications.

Ce que j'imagine..
Code:
Sub envoi_PJ()
    ChDir ActiveWorkbook.Path
    répertoireAppli = ActiveWorkbook.Path   ' Penser à Outils/Références Outlook
    '---  Envoi par mail
    Dim olapp As Outlook.Application
    Sheets("destinataires").Select
    [B][COLOR="Red"][A12].Select
    Do While Not IsEmpty(ActiveCell)
      MsgCc = MsgCc & ActiveCell & ";"
      ActiveCell.Offset(1, 0).Select
    Loop[/COLOR][/B]
    Dim msg As MailItem
    Set olapp = New Outlook.Application
    Set msg = olapp.CreateItem(olMailItem)
    [B][COLOR="red"]msg.To = [A11].Value
    msg.CC = MsgCc[/COLOR][/B]
    msg.Subject = [A2]
    msg.Body = [A5] & Chr(13) & Chr(13) & [A8].Value & Chr(13) & Chr(13)
    '-- pj
    [C8].Select
    Do While Not IsEmpty(ActiveCell)
      nf = ActiveWorkbook.Path & "\" & ActiveCell.Value
      msg.Attachments.Add Source:=nf
      ActiveCell.Offset(1, 0).Select
    Loop
    msg.[B][COLOR="red"]Display[/COLOR][/B] 'Send
End Sub
J'ai mis Display pour que tu voies avant l'envoi.

Donc il met la première adresse (A11) pour le destinataire A et les autres en Cc.

Si non, attendre le maître 😀
 
Dernière édition:
Re : Macro Excel, envoi Email

Bonjour à tous les deux,
Oui effectivement c'était A et Cc
Je viens d'essayer, je vois bien avant l'envoi, mais il ne pas pris la première adresse qui doit aller dans A.
Sheets("destinataires").Select
[A12].Select
La tu as changé A11.Select par A12
Est ce que je remets A12 ?
Merci
Autant pour moi je n'avais pas modifier msg.To = [A11].Value
 
Dernière édition:
Re : Macro Excel, envoi Email

Bonsoir toune21, aux participants, et à ceux qui passeront par ici.

Ci-joint un Classeur qui n'utilise pas la pelleteuse OutLook. 🙁

Il faut préalablement cocher "Microsoft CDO for windows 2000 library" dans les Références VBA
Et surtout ne pas oublier de mettre ton adresse Mail dans "Commentaires" des propriétés
de ton classeur.
(Ce dernier point pourra être adapté, par toi, suivant tes besoins)

De la même façon: un ou une liste de destinataires peuvent se trouver
dans une feuille, comme le choix du fichier à leur envoyer.
(Sauf que dans ce cas le message du WebBrowser ne sera pas trop facile à gérer)

A noter que dans mon esprit, l'idée est de joindre un texte Word,
plutôt que de se farcir une mise en forme fastidieuse et limitée
qu'est généralement celle du fournisseur d'accès.

P.S.
A ceux qui testeront ma bidouille:
Je ne pige pas pourquoi mes lettres avec des accents se transforment
en hiéroglyphes genre MS DOS! dans le corps des messages ........ 😕

Si quelqu'un peut me corriger…

Au plaisir.

Yann
 

Pièces jointes

Re : Macro Excel, envoi Email

Salut Yann 🙂,
Loin de moi l'idée de dénigrer ton travail, mais, je dirais plutôt que CDO ou la "pelleteuse" OutLook dépendent des besoins de l'utilisateur 😉...
Les tests sur ton fichier ne sont pas concluants (pour moi), car à chaque envoi, c'est le plantage d'Excel (2007 et Seven 64 bit ne sont peut-être pas compatible avec CDO pour 2000...).
Mais de mémoire, il me semble avoir testé du CDO qui fonctionnait, et, plutôt que de juger, je pense qu'il faut regarder les avantages et inconvénients de chacun :
1) CDO, il me semble, passe à travers les sécurités, donc ne demande pas confirmation de l'autorisation d'envoi du mail (personnellement, ça me dérange de laisser partir un mail sans mon autorisation, mais je peux comprendre que certains souhaitent envoyer des myriades de mails sans confirmer leur accord)
2) CDO, toujours il me semble, ne stocke pas les messages envoyés (personnellement, je tiens à pouvoir suivre mes envois pour pouvoir assurer leur suivi. D'ailleurs, dans ta macro, ta gestion d'erreur ignore l'impossibilité d'envoyer un mail, plutôt que de prévenir l'usager que le mail n'est pas parti...), donc pas de suivi possible...
3) OutLook permet d'utiliser .Display, qui permet à l'utilisateur de se faire préparer le mail et de décider de l'envoi, voir de le modifier avant l'envoi définitif.
Pour tes problèmes d'accents, l'utilisation de CDO que tu fais code du brut, à la place de .TextBody, teste .HTMLBody ou HTMLBodyPart, voire .TextBodyPart ou CreateHTMLBody...
Bon courage 😎
 
Re : Macro Excel, envoi Email

Merci JNP d'avoir pris la peine de rédiger ces remarques.
C'est très sympa d'en avoir investi le temps.

Je vais tenter de te répondre point par point.

1) Il est vrai que je suis en 2003, et je n'ai pas testé 2007.
J'ai fait ce fichier en partant d'une de mes applications
qui est utilisée dans mon ancienne société depuis 4 ans.
Aujourd'hui, ils éditent et transmettent par Fax! 🙁
Ce module n'a pas été mis à jour …
Tu me fais un peu peur de l'installer!
D'autant que sur les 9 postes (En réseau) il y a bien 3 ou 4 qui sont en 2007.

2) Pour ma part, je considère la demande d'autorisation inutile; puisque quand l'utilisateur valide sa commande, message ou demande de prix, je lui propose la simple rédaction, seul enregistrement, édition et c. Et envoi par Mail.

3) Effectivement, il n'y a pas trace des Mails envoyés.
Cependant les envois sont systématiquement traduits en format PDF.
et enregistrés dans un Dossiers.
En cas d'échec ceux-ci sont effacés. Donc vérifiable dans une recherche.
La demande d'accusé de réception est automatique.
A l'utilisateur de gérer son suivi (Un autre module est prévu à cet effet)

4) La vérification avant envoi est faite préalablement en visualisant la page Excel.

Peut-être suis en train de me fourvoyer, mais je n'aime pas OutLook, car il télécharge
les messages sans nous en demander l'avis.
(Mais il est possible que je ne sache pas le paramétrer)

Je ne suis donc pas certain de continuer avec CDO, sauf constat de son efficacité.
Et alors; ton aide relative aux accents me sera certainement bien utile. 🙂

Bonne fin de fin de semaine, et Merci encore.

Yann
 
Re : Macro Excel, envoi Email

Re 🙂,
1) Il est vrai que je suis en 2003, et je n'ai pas testé 2007.
J'ai fait ce fichier en partant d'une de mes applications
qui est utilisée dans mon ancienne société depuis 4 ans.
Aujourd'hui, ils éditent et transmettent par Fax! 🙁
Ce module n'a pas été mis à jour …
Tu me fais un peu peur de l'installer!
D'autant que sur les 9 postes (En réseau) il y a bien 3 ou 4 qui sont en 2007.
Je pense que le plantage viens plus de Seven 64 bit que 2007. Mais quelques tests sous XP en 2007 ne mange pas de pain avant déploiement 😉
2) Pour ma part, je considère la demande d'autorisation inutile; puisque quand l'utilisateur valide sa commande, message ou demande de prix, je lui propose la simple rédaction, seul enregistrement, édition et c. Et envoi par Mail.
Ma remarque concernait plus certains, qui souhaitent faire du "tracing" sur le poste des autres... Et en ce qui me concerne, je préfère savoir ce qui sort de mon poste 😛...
3) Effectivement, il n'y a pas trace des Mails envoyés.
Cependant les envois sont systématiquement traduits en format PDF.
et enregistrés dans un Dossiers.
En cas d'échec ceux-ci sont effacés. Donc vérifiable dans une recherche.
La demande d'accusé de réception est automatique.
A l'utilisateur de gérer son suivi (Un autre module est prévu à cet effet)
2003 et PDF ne sont pas compatibles, donc tu passes par une gestion Acrobat, PDF Creator, Flex ou autre pour gérer les mails envoyés. Très bien, mais ce n'est pas le cas de la majorité des membres du forum, d'où ma mise en garde.
4) La vérification avant envoi est faite préalablement en visualisant la page Excel.
Prévisualisation avant impression, donc c'est le PDF que tu envoie, non 🙄 ?
Peut-être suis en train de me fourvoyer, mais je n'aime pas OutLook, car il télécharge les messages sans nous en demander l'avis.
(Mais il est possible que je ne sache pas le paramétrer)
Là, je vois pas 😕 ... Qu'entends-tu par là ? Tu souhaites qu'OutLook te demandes avant d'aller charger tes messages sur le serveur ?
Je ne suis donc pas certain de continuer avec CDO, sauf constat de son efficacité.
Au vu des discussions sur le forum, pas de soucis sur son efficacité. Mais seuls des tests sur tous les environnements possibles de ton entreprise, et avec tous le personnel (et oui, le facteur humain est loin d'être négligeable dans l'automatisation industrielle, car il y aura toujours quelqu'un pour faire ce que personne n'attends de lui 😀)
Et alors; ton aide relative aux accents me sera certainement bien utile. 🙂
As-tu fait des tests dans les pistes proposées ? Avec OutLook, on peux utiliser de l'HTML, mais CDO semble proposer des pistes similaires (l'"intelligence" de VBA propose après le "." les termes précités, ce qui semble prometteur 😉).
@ + 😎
 
Re : Macro Excel, envoi Email

Re JNP, tu vas me devoir une ramette de papier par avoir imprimé tes messages,
tant ils me sont précieux et riches d'enseignements.

Bon! Le "Tracing", je ne sais pas ce que c'est; mais pas grave!
La surveillance interne, je la laisse à la hiérarchie.

Effectivement j'utilise PDFCreator, impérativement installé sur le serveur,
ou chaque poste… Je ne sais plus. (Je ne suis plus dans l'entreprise depuis un an)

J'envoi en PDF pour ne pas permettre au fournisseur de trafiquer le contenu de la commande.
(Tout au moins, pas facilement, et de plus sans laisser de traces)

Quant au personnel humain: tu as raison!!!
Je traite le fort sympa jeune ingénieur qui fait une part de mon boulot aujourd'hui,
de sale gosse, car il s'amuse à fiche le bordel dans mes applis!!! 🙁

En plus, je suis coupable de l'avoir amené à apprendre le VBA.

Quelque chose me dit qu'il sera bientôt ici. 😛 😱 😱 😱

Je 'ai pas fait les tests suivant tes pistes genre "."
A soixante balais, j'ai besoin d'un peu de temps. Les neurones sont moins vifs!!!

Je ne manquerai pas de te tenir informé. (En privé si besoin)

Les fils meurent si vite!

Avec grand plaisir, et un morceau de notre beau soleil Sud Breton

Yann
 
Re : Macro Excel, envoi Email

Re 🙂,
Re JNP, tu vas me devoir une ramette de papier par avoir imprimé tes messages,
tant ils me sont précieux et riches d'enseignements.
Pas d'accord, sans être écologiste à tous crin, je suis pour une utilisation modérée du papier, et franchement, mes remarques ne méritent pas d'utilisage intensif de l'imprimante 😉.
Bon! Le "Tracing", je ne sais pas ce que c'est; mais pas grave!
La surveillance interne, je la laisse à la hiérarchie.
Ta remarque en deuxième ligne prouve bien que tu sais ce dont il s'agit, mais bon, on va dire que Big Brother, issu de l'imaginaire d'Orwel, est dépassé, il le situait en 1984, et nous sommes en 2010, que diantre 😛...
Effectivement j'utilise PDFCreator, impérativement installé sur le serveur,
ou chaque poste… Je ne sais plus. (Je ne suis plus dans l'entreprise depuis un an)
Il me semble que c'est plutôt par poste, mais... Je suis un habitué d'Acrobat 😀....
J'envoi en PDF pour ne pas permettre au fournisseur de trafiquer le contenu de la commande.
(Tout au moins, pas facilement, et de plus sans laisser de traces)
Alors là, envoie moi un pdf ne pouvant pas être trafiqué... Il y a des niveaux de sécurités, mais combien sont utilisés ?
Quant au personnel humain: tu as raison!!!
Je traite le fort sympa jeune ingénieur qui fait une part de mon boulot aujourd'hui,
de sale gosse, car il s'amuse à fiche le bordel dans mes applis!!! 🙁
En plus, je suis coupable de l'avoir amené à apprendre le VBA.
Quelque chose me dit qu'il sera bientôt ici. 😛 😱 😱 😱
C'est pas lui qui est dangereux (sauf pour t'aider à prendre ta retraite 😀), c'est les utilisateurs qui n'hésitent pas à saisir une date type "premier mercredi du mois" ...
Je 'ai pas fait les tests suivant tes pistes genre "."
A soixante balais, j'ai besoin d'un peu de temps. Les neurones sont moins vifs!!!
T'inquiètes, à 46, ils sont pas plus frais, ils ont juste besoin de tenir le coup jusqu'à 70 ans, voir plus vu les réformes actuelles 😱...
Je ne manquerai pas de te tenir informé. (En privé si besoin)
Les fils meurent si vite!
Tes MP seront les bienvenus 🙂.
Avec grand plaisir, et un morceau de notre beau soleil Sud Breton
Un tout petit coin de soleil ce jour sur les Vosges 🙄
+ 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
644
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
799
Réponses
38
Affichages
1 K
Retour