IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Contenu d'un envoi e-mail (Excel, VBA)


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut Contenu d'un envoi e-mail (Excel, VBA)
    Bonjour,
    Je veux envoyer des mails aux personnes qui seront de service u cinéma où je travaille. Voilà le morceau de code qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                            destin = S1.Cells(lig1, c1 + 1)
                            objet = messobj1 & messobj2 & ", " & Format(S1.Cells(lig, 1), "dddd dd mmm") & mess1
                             texte1 = "<html><body>Bonjour "
                             texte2 = nom
                             texte3 = "<br>C'est après-demain, n'oublie pas!<br>Cordialement.</body></html>"
                             texte = texte1 & texte2 & texte3
                            Call envoi_mail(destin, objet, texte)
    Ce message passe très bien.
    par contre, quand je veux envoyer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                            destin = S1.Cells(lig1, c1 + 1)
                            objet = messobj1 & messobj2 & ", " & Format(S1.Cells(lig, 1), "dddd dd mmm") & mess1
                             texte1 = "<html><body>Bonjour "
                             texte2 = nom
                             texte3 = "<br>C'est après-demain, n'oublie pas!<br>Cordialement. Le cinéma Saint-Gilles</body></html>"
                             texte = texte1 & texte2 & texte3
                            Call envoi_mail(destin, objet, texte)

    Je reçois le message d'erreur : Le message n'a pas pu être envoyé...Message content rejected.
    Le seul fait d'allonger mon texte de quelques mots fait que ça ne passe pas. J'ai fait moult essais : par exemple, si à la place de "Le cinéma saint-Gilles", je mets "?????????????????????", le mail part sans problème! Si, après "...Cordialement" je rajoute une lettre : erreur. Si je rajoute"§" : erreur. Si je rajoute ".......", ça part! Quelqu'un a une idée?
    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Peut-être est-ce dû à la correction automatique (?)
    Si tu l'enlèves et que tu fais un test, est-ce que ça passe mieux ?
    Autrement, je ne vois pas pourquoi ce bout de phrase causerait problème (?!)

  3. #3
    Membre très actif
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Peut-être un problème d'encodage des caractères? Je ne sui pas certain, mais à vérifier.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Bonjour,

    Si tu place dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Function TxtHtml(T As String) As String
    Dim Txt
    Dim Htm
    Dim I As Long
    TxtHtml = T
    Txt = "Á$á$É$é$Í$í$Ó$ó$Ú$ú$Ý$ý$À$à$È$è$Ì$ì$Ò$ò$Ù$ù$Â$â$Ê$ê$Î$î$Ô$ô$Û$û$Ä$ä$Ë$ë$Ï$ï$Ö$ö$Ü$ü$Ÿ$ÿ$Ã$ã$Õ$õ$Ç$ç$ $" & vbCrLf
    Htm = "&Aacute;$&aacute;$&Eacute;$&eacute;$&Iacute;$&iacute;$&Oacute;$&oacute;$&Uacute;$&uacute;$&Yacute;$&yacute;$&Agrave;$&agrave;$&Egrave;$&egrave;$&Igrave;$&igrave;"
    Htm = Htm & "$&Ograve;$&ograve;$&Ugrave;$&ugrave;$&Acirc;$&acirc;$&Ecirc;$&ecirc;$&Icirc;$&icirc;$&Ocirc;$&ocirc;$&Ucirc;$&ucirc;$&Auml;$&auml;$&Euml;$&euml;"
    Htm = Htm & "$&Ouml;$&ouml;$&Uuml;$&uuml;$&Yuml;$&yuml;$&Atilde;$&atilde;$&Itilde;$&itilde;$&Otilde;$&otilde;$&Ccedil;$&ccedil;$&nbsp;$<br>"
    Txt = Split(Txt, "$")
    Htm = Split(Htm, "$")
    For I = 0 To UBound(Txt)
    TxtHtml = Replace(TxtHtml, Txt(I), Htm(I), 1, compare:=vbBinaryCompare)
    Next
    End Function

    ensuite dans ton code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTEXTE=" Bonjour " & nom  & vbCrLf & vbCrLf & "C'est après-demain, n'oublie pas!"  & vbCrLf & vbCrLf & "Cordialement." & vbCrLf & "Le cinéma Saint-Gilles"
    et dans ta procédure d'envoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .HTMLBody = TxtHtml(MonTEXTE)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    Pardon de ne pas avoir répondu rapidement : j'ai été appelé ailleurs!
    Parmi, Jeanmidudu, j'ai essayé, ça ne marche pas mieux.
    Jijie, je vais essayer de construire mon texte HTML comme tu le dis. Verdict dans l'après midi.
    Cordialement. Merci à tous.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    Jijie,
    J'ai une erreur de compilaltion sur la ligne HtmlBody = TxtHtml(montexte) disant "Type d'argument ByRef incompatible"....et là, je manque de compétences pour comprendre ce que le compilateur attend. J'ai declaré montexte comme string. Help!

    Pardon : mes déclarations étaient fausses. La fonction TxtHtml fonctionne.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    Suite du feuilleton, Jijie. Ton système d'encodage du texte du message ne change rien. En s’arrêtant à "Cordialement.", l email part, en rajoutant une phrase, il ne part pas...Je crois que je vais abandonner, et envoyer un message court.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Ce n'est pas la longueur du message qui est en problème.
    Bien possible que ce soit un caractère qui ne passe pas.
    J'avais pensé à la correction automatique, mais possiblement un mauvais encodage comme stipulé par jeanmidudu.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Je te propose de nous montrer ton code au complet stp, car franchement ça doit fonctionner!

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    ouiais!! ou alors tu travaille en innerthtml direct
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim nom as string 
    nom="Toto"
    texte = "Bonjour "& vbcrlf 
    texte =texte &  nom  & vbcrlf
    texte = texte & "C'est après-demain, n'oublie pas" & vbcrlf & "Cordialement. Le cinéma Saint-Gilles"
    ' transformation html
     texte ="<html><body><p>" & replace(texte,vbcrlf ,"</p><p>") &"</p></body></html>"
    les caractères spéciaux seront respectés car c'est entré dans le innertext directement
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    PatrickToulon,
    Absent plusieurs jours. Je reviens sur mon pb.
    J'ai essayé, ça marche.....J'en aurais appris des trucs avec ce problème! Merci à tous. Je considère comme résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contenu d'un envoi e-mail (Excel, VBA)
    Par Pantagruel92 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/06/2016, 10h26
  2. [XL-2007] Envoi de mail avec VBA Excel et texte enrichi
    Par david5786 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/04/2012, 13h04
  3. Envoi de mail depuis VBA access
    Par pev15 dans le forum VBA Access
    Réponses: 26
    Dernier message: 09/06/2008, 11h52
  4. Réponses: 2
    Dernier message: 07/12/2007, 17h20
  5. Envoi de mail en VBA Excel avec mise en forme et choix d'expediteur
    Par amalane dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2006, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo