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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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.

+ 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