Envoi auto de mails avec pièce jointe fonction du destinatai
Résolu/Ferméyg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 - 9 août 2022 à 09:50
- Envoi auto de mails avec pièce jointe fonction du destinatai
- Fonction si et - Guide
- 1 pièce jointe - Guide
- Programmer envoi mail gmail - Guide
- One piece kai streaming ✓ - Forum Cinéma / Télé
- Telecharger auto refresh - Télécharger - Divers Web & Internet
10 réponses
7 août 2022 à 07:04
bonjour,
Souhaites-tu te former en VBA?
Utilises-tu, ou es-tu prêt à utiliser Microsoft Outlook pour envoyer ces messages?
Bonjour
Merci pour la réponse
Pourquoi pas une formation, bien que je ne connaisse pas le degré dr difficultés de ce langage informatique.
Je fais partie d'une association d'environ 200 adhérents et nous envoyons à chacun des adhérents un fichier de ré adhésion personnalisé.
C'est éviter cet envoi manuel de 200 mails que j'avais pensé à un envoi automatique avec une macro Excel.
Concernant Outlook, nous souhaiterions éviter un compte supplémentaire de messagerie, nous avons , pour l'association, un compte gmail et un compte Thunderbird que nous eu avec l'achat du domaine internet pour notre site Web.
Est il indispensable et cela est ce plus facile de coder en utilisant Outlook ?
Pour info nous utilisons une version d'Excel de 2007 et ne comptons pas investir dans une version Office récente.
Cordialement
7 août 2022 à 09:45
Microsoft Outlook est un logiciel de messagerie, il peut parfaitement s'utiliser avec un compte gmail. L'utilisation de ce logiciel n'implique nullement l'utilisation d'un compte de messagerie outlook.
Le plus facile, et de très loin, est d'avoir Excel et Outlook sur le même ordi, et que Outlook soit configuré pour pouvoir envoyer des mails en utilisant le compte gmail.
L'étape suivante sera d'utiliser le VBA de Excel pour envoyer un message de test via Outlook.
C'est relativement simple, parce que Outlook a aussi son VBA, et que les VBA peuvent collaborer entre eux.
7 août 2022 à 12:31
A te lire cela à l'air simple
Pour ma part je n'y connais rien et cela m'a l'air très compliqué ("comment envoyer un message de test via Outlook, mes VBA peuvent collaborer entre eux " etc ...).
Comment configure-t-on Outlook et Excel , etc ... ?
D'autre part Microsoft Outlook est payant après une période de test de 30 jours
7 août 2022 à 13:13
Il est peut-être préférable, alors, de continuer à utiliser des méthodes que tu connais.
7 août 2022 à 14:32
Bonjour,
Je ne connais pas VBA mais envoyer des emails est réalisable assez facilement via un script .bat
Il suffirait de convertir ton tableau Excel en fichier .csv pour pouvoir le traiter via le script.
Fais-moi signe si tu es partant.
Bonne journée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionModifié le 7 août 2022 à 14:45
Bonjour,
Il existe cette possibilité avec Outlook comme le dit yg_be mais évidemment il faut avoir la suite Office qui comprends au moins Excel et Outlook
https://www.cjoint.com/c/LHhmResdRXw
Voilà un exemple de fichier que j'ai repris sur https://www.rondebruin.nl/error.htm adapté pour le besoin.
Sub Send_Files() 'Récupéré sur : http://www.rondebruin.nl/win/winmail/Outlook/tips.htm Dim OutApp As Object Dim OutMail As Object Dim sh As Worksheet Dim cell As Range Dim FileCell As Range Dim rng As Range With Application .EnableEvents = False .ScreenUpdating = False End With Set sh = ActiveSheet Set OutApp = CreateObject("Outlook.Application") For Each cell In sh.Columns("A").Cells.SpecialCells(xlCellTypeConstants) ' Chemin du fichier dans la colonne B Set rng = sh.Cells(cell.Row, "A").Range("B1:Z1") ' Vérifie si c'est bien un String format e-mail If cell.Value Like "?*@?*.?*" And _ Application.WorksheetFunction.CountA(rng) > 0 Then Set OutMail = OutApp.CreateItem(0) With OutMail .to = sh.Cells(cell.Row, 1).Value .Subject = sh.Cells(cell.Row, 3).Value .Body = sh.Cells(cell.Row, 4).Value For Each FileCell In rng.SpecialCells(xlCellTypeConstants) If Trim(FileCell.Value) <> "" Then If Dir(FileCell.Value) <> "" Then .Attachments.Add FileCell.Value End If End If Next FileCell .Display 'Or use .Display/Send End With Set OutMail = Nothing End If Next cell Set OutApp = Nothing With Application .EnableEvents = True .ScreenUpdating = True End With End Sub
7 août 2022 à 18:51
Bonjour ozone_
Merci pour le fichier .xlm
J'ai réussi à installer Outlook sur mon PC à partir d'un CD que je possédais (version 2007)
J'ai configuré Outlook avec mon compte de messagerie SFR, la synchro s'est bien passée.
Par contre lorsque je lance la macro Send_Files j'obtiens le code erreur : -2147221164 (80040154)
Classe non enregistrée ???
En mode débogage la macro s'arrête à Set OutApp = CreateObject("Outlook.Application")
Merci encore pour ton aide
8 août 2022 à 13:38
Je pense que le problème doit venir d'Outlook qui date de 2007 et qui n'a pas toutes les dépendances requises pour faire fonctionner ce code.
N'ayant pas cette version, je ne pourrai malheureusement pas t'aider pour la suite ...
8 août 2022 à 15:43
Tu as redémarré l'ordi après installation de Outlook?
8 août 2022 à 18:30
Je viens de redémarrer l'ordi, idem, il y a le même message d'erreur.
Tans pis on se passera de cette fonctionnalité, je ne voudrais pas monopoliser votre temps sur ce problème
Merci à tous pour votre aide
Cordialement
8 août 2022 à 18:39
Si tu veux persévérer...
Dans Excel, tu fais ALT+F11 pour ouvrit l'éditeur VBA.
Ensuite, dans le menu "outils", tu choisis "références".
Dans la longue liste de références, vois-tu "Microsoft Outlook ... Object Library"?
8 août 2022 à 20:00
La case n'était pas à Y, je l'ai mise, redémarrer le PC, le problème est toujours là
8 août 2022 à 20:08
Si tu as coché la référence dans la liste, et que cette coche est toujours présente quand tu rouvres Excel, remplace alors
Dim OutApp As Object '... Set OutApp = CreateObject("Outlook.Application")
par
Dim OutApp As Outlook.Application ' ... Set OutApp = new Outlook.Application
8 août 2022 à 22:04
Même problème
Merci pour votre patiente mais on peut en rester là
9 août 2022 à 07:48
Peux-tu alors marquer la discussion comme résolue?
9 août 2022 à 09:12
C'est OK pour moi
J'ai beau chercher, je n'ai pas trouvé où fermer la discussion (??)
9 août 2022 à 09:50
via les ... en dessous de ta question de départ.