Problème envoi mail depuis Excel

Bonjour,

Je cherche à envoyer un mail en html en insérant les informations de différents onglets.

Si mon codage fonctionne très bien jusqu'à 5 onglets, je n'arrive pas à insérer les informations pour les 2 onglets restants.

Est-ce un problème de nombre de caractères trop importants pour le codage html ?

Je suis autodidacte et je ne parviens pas à trouver d'où vient le souci.

Pourriez-vous m'aider ? Je suis tellement proche de la solution et j'enrage de ne pas réussir à finaliser..

Merci d'avance de votre aide,

9point-hebdo.xlsm (79.67 Ko)

Bonjour Choupie972

Ce code fonctionne

Sub Bouton1_Cliquer()
'créer mail
Dim OL As Object
Dim OLmail As Object
Dim strto As String, strcc As String
Dim strsub As String, strbody As String

On Error Resume Next
Set OLk_Appli = GetObject("Outlook.Application")
Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)

strto = ActiveSheet.Range("c4").Value 'adresse envoi mail
strcc = ActiveSheet.Range("e4").Value 'adresse envoi copie
strsub = ("Recap POINT HEBDO ") & ActiveSheet.Range("A4").Value 'objet du mail

With OLmail
.Display 'Display pour affichage du message ou Send pour envoi direct
.To = strto
.Cc = strcc
.Subject = strsub
strbody = "<html><body><font size=2><font face=""Calibri"">" & _
  "Bonjour," & "<BR>" & "<BR>" & _
  "Nous vous faisons parvenir ci-dessous le recap du POINT HEBDO," & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#008080""> Partie NOTES LIBRES</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Notes libres").Range(Sheets("Notes libres").Range("F2:F3"), Sheets("Notes libres").Range("F2:F3").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#008000""> Partie RECRUTEMENT</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Candidats").Range(Sheets("Candidats").Range("F5:F6"), Sheets("Candidats").Range("F5:F6").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#FFFF00""> Partie OPPORTUNITES</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Opportunités").Range(Sheets("Opportunités").Range("F5:F6"), Sheets("Opportunités").Range("F5:F6").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#800080""> Partie CLIENTS</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Clients").Range(Sheets("Clients").Range("F3:F4"), Sheets("Clients").Range("F3:F4").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#FF0000""> Partie IC</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("IC").Range(Sheets("IC").Range("F5:F6"), Sheets("IC").Range("F5:F6").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#000080""> Partie CONSULTANTS</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Consultants").Range(Sheets("Consultants").Range("F5:F6"), Sheets("Consultants").Range("F5:F6").End(xlDown))) & "<BR>" & "<BR>" & _
  "<U><B><span style=""color:#808080""> Partie FINANCIER</span style></B></U>" & " :" & "<BR>" & "<BR>" _
  & RangetoHTML(Sheets("Financier").Range(Sheets("Financier").Range("F5:F6"), Sheets("Financier").Range("F5:F6").End(xlDown))) & "<BR>" & "<BR>" _
  & "Vous en souhaitant bonne réception," & "<BR>" & "<BR>" & _
  "</font></font></body></html>"
  .HTMLBody = strbody & .HTMLBody
End With

Set OLmail = Nothing
Set OL = Nothing
Set OLk_Appli = Nothing

End Sub

Mais il faut remplir les feuilles "Consultants" et "Financier", sinon le code cherche à intégrer 1.048.576 lignes

Peut-être mettre un garde fou en F31 avec l'annotation "Fin tableau" par exemple

@+

Bonjour Bruno,

Tout d'abord merci pour ta réponse, c'est cool de se sentir épaulée..

Qu'est ce que tu entends par l'annotation fin de tableau ?

Effectivement, on peut prévoir une fin de tableau pour éviter qu'il cherche trop, mais comment l'intégrer au code stp ?

Merci de ta réponse,

@ +

Re,

Voici ton fichier avec les annotations de fin de tableau et le code modifié au cas ou un tableau serait vide

@+

Merci beaucoup Bruno, c'est génial !

Bonne soirée à toi

Bonjour,

J'ai encore un petit souci : est-il possible de modifier la formule afin qu'une ligne vide ne soit pas synonyme de fin de tableau ?

Je m'explique : dans mes différents onglets, des titres peuvent être insérés et donc une ligne vide entre chaque titre ; ce qui fait que dans le mail, n'apparaît que le titre et pas la suite.

J'espère être assez claire dans mes explications,

Merci de votre aide,

Myriam

Bonjour Bruno,

Encore besoin d'un petit coup de main pour finaliser mon document..

Est-il possible de modifier le code afin qu'une ligne vide ne soit pas assimilée à la fin de la saisie dans l'onglet ?

Peut on envisager un code qui dise "une ligne vide = on continue ; deux lignes vides = on passe à l'onglet suivant" ?

Merci encore de ton aide,

A +

Rechercher des sujets similaires à "probleme envoi mail"