Macro Envoi E-mail automatique du contenu de la feuille

roidurif

XLDnaute Occasionnel
bonjour,

Je souhaite automatisé par un simple click bouton, l'envoi par email, le contenu du tableau de la feuil1 précédé d'un message typique.

Exemple de message email :

"Bonjour,

Trouvez ci dessous la liste des erreurs trouvés et à corriger"

###############################
###############################
###############################
##### TABLEAU DU FICHIER JOINT#######
###############################
###############################
###############################
###############################


Cordialement"


Merci de votre aide
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : Macro Envoi E-mail automatique du contenu de la feuille

RE

Il faut simplement ne pas utiliser l'objet Outlook
et à la place utiliser CDO

Il suffit de lire attentivement le code VBA de ce fichier.
http://www.rondebruin.nl/files/CDO_Example_Code.zip

Tu trouveras aussi d'autres infos sur le forum.
https://www.excel-downloads.com/threads/display-alerts-pour-outlook.18547/

Et d'autres liens dans la FAQ du forum (pages de MichelXLD, page 3)
# Envoyer un mail sans message de confirmation , méthode CDO
https://www.excel-downloads.com/threads/display-alerts-pour-outlook.18547/
# Envoyer un mail avec texte multiligne et sans message de confirmation , méthode CDO
Lien supprimé
 
Dernière édition:

roidurif

XLDnaute Occasionnel
Re : Macro Envoi E-mail automatique du contenu de la feuille

Bonjour à tous,

J'ai pris note du lien de MJ13. J'ai ajusté ce code à mon fichier, mais je pense avoir loupé quelque choses.

J'utilise essentiellement outlook 2007. Pourriez vous SVP m'aider voir dans ce document.

Merci d'avance

Cordialement
 

Pièces jointes

  • Macro envoi mail v2.xls
    32 KB · Affichages: 59
  • Macro envoi mail v2.xls
    32 KB · Affichages: 59
  • Macro envoi mail v2.xls
    32 KB · Affichages: 61

ledzepfred

XLDnaute Impliqué
Re : Macro Envoi E-mail automatique du contenu de la feuille

bonsoir à tous,

roidurif, remplaces Display dans le code par .Item.Display et déclares toutes tes variables (il manque les déclarations pour les variables i, attente, newhour, newminute, newsecond, waittime).

A+
 

ledzepfred

XLDnaute Impliqué
Re : Macro Envoi E-mail automatique du contenu de la feuille

re

exemple : Dim i as Long

Regardes l'aide vba (la touche F1 dans l'éditeur vba) pour la déclaration des variables qui peuvent être de differents types (Long, Integer, Boolean, Date, Object, String etc.... sans oublier Variant (au passage déclarer une variable en écrivant Dim i revient à la déclarer en variant, les variables de ce type sont gourmandes en ressources))

A+
 

roidurif

XLDnaute Occasionnel
Re : Macro Envoi E-mail automatique du contenu de la feuille

Re-bonjour,

Malgré plusieurs tentative et de test avec outlook, je n'arrive toujours pas à obtenir ce que je veux.

J'obtiens des message d'erreur d'exécution

Si quelqu'un peux m'aider sur l'exemple de fichier que j'ai joins dans les derniers poste

merci d'avance
 

ledzepfred

XLDnaute Impliqué
Re : Macro Envoi E-mail automatique du contenu de la feuille

bonsoir roidurif,

sous excel2003, ta procédure fonctionne (enfin, en enlevant Option Explicit pour éviter de déclarer les variables) et comme je n'ai pas excel2007 difficile de t'aider mais ce doit etre toujours un problème de déclaration des variables

Sur quelle(s) ligne(s) as-tu une erreur et quel est le type d'erreur renvoyée.

Sinon en fin de code les instructions suivantes sont inutiles :

Code:
Application.ScreenUpdating= True
Application.DisplayAlerts=True

Le rafraichissement de l'écran et les alertes Excel se réactivent automatiquement à l'issue des procédures

A+
 
Dernière édition:

roidurif

XLDnaute Occasionnel
Re : Macro Envoi E-mail automatique du contenu de la feuille

Bonjour à tous,

J'ai fait ce que vous m'avez dit, mais cela fonctionne pas comme je l'attendait,
car ce que je n'arrive pas, c'est de faire stoper la macro avant d'envoyer, pour saisir l'adresse e-mail du destinataire, et une fois que je clique sur envoyer, ca poursuit la suite.

Merci de votre aide, je vous joins mon fichier modifier.

Cordialement,

Roidurif
 

Pièces jointes

  • Macro envoi mail v2.xls
    41.5 KB · Affichages: 42
  • Macro envoi mail v2.xls
    41.5 KB · Affichages: 44
  • Macro envoi mail v2.xls
    41.5 KB · Affichages: 43

Guiv

XLDnaute Occasionnel
Re : Macro Envoi E-mail automatique du contenu de la feuille

Bonjour à tous,

Je prends le fil à retardement, mais je tiens à dire que vbacrumble a raison:

Porque personne n'apprécie CDO et sa commodité ?

Ron , il aime bien lui CDO

Citation:
Why using CDO code instead of Outlook automation or SendMail in VBA.

1: It doesn't matter what Mail program you are using (It only use the SMTP server).
2: It doesn't matter what Office version you are using (97…2007)
3: You can send a range/sheet in the body of the mail (some mail programs can’t do this)
4: You can send any file you like (Word, PDF, PowerPoint, TXT files,….)
5: No Security warnings anymore, really great if you are sending a lot of mail in a loop.
Sending mail from Excel with CDO

La macro de Ron est tout simplement géniale et tellement pratique!
Je suis tombé sur ce fil en cherchant également à contourner le message d'alerte de Microsoft Outlook, et c'est la proposition la plus simple et la plus efficace.

Bon week-end à tous

Guiv
 

MJ13

XLDnaute Barbatruc
Re : Macro Envoi E-mail automatique du contenu de la feuille

Bonjour à tous:

Roidurif: dans ton post du 02/06/2009 09h44, il faudrait qu'au début de la macro, que tu entres un inputbox en demandant l'adresse Mail que tu pourras mettre en variable dans .item.to.
 

roidurif

XLDnaute Occasionnel
Re : Macro Envoi E-mail automatique du contenu de la feuille

Bonjour,

J'ai suivi la consigne donnée par vbacrumble en utilisant le code trouvez ici : Envoi mail avec PJ

Example Code for sending mail from Excel

Ca fonctionne, mais ma problèmatique c'est d'insérer un message automatique comme cela :

Code:
.Body = "Bonjour," & Chr(13) & _
"Votre fichier contient des erreurs. " & Chr(13) & _
"Nous vous demandons de faire les corrections indispensables avant le chargement de votre catalogue dans notre système e-shop." & _
"Il y a " & Application.WorksheetFunction.CountA(Sheets("Feuil2").Range("B12:G" & Sheets("Feuil2").Range("G65536").End(xlDown).Row)) & " caractère(s) interdit(s) (dièze, @robase, point-virgule, guillemets, esperluette, | )" & Chr(13) & _
"Il y a " & Application.WorksheetFunction.CountA(Sheets("Feuil2").Range("J12:J" & Sheets("Feuil2").Range("J65536").End(xlDown).Row)) & " date(s) manquante(s)"
.Display

Selon certaine information , il indique le nombre de valeur trouvée automatiquement dans une zone selectionné.

Mais cela ne s'affiche pas dans le corps de mon e-mail.

Merci de aide

Ci-joint le fichier
 

Pièces jointes

  • Macro envoi mail v2.zip
    17 KB · Affichages: 32

Discussions similaires

Réponses
16
Affichages
606
Réponses
6
Affichages
347

Statistiques des forums

Discussions
312 503
Messages
2 089 053
Membres
104 013
dernier inscrit
VELONDAHY Mickaël