Se connecter avec
S'enregistrer | Connectez-vous

XL2003/Problème de fonctionnement boutons/ envois mail Outlook

Dernière réponse : dans Programmation

Bonsoir à tous, :hello: 

j'ai créer un Classeur Excel, avec des Macros et un formulaire à la fin avec trois boutons:
1 /envois de mail
2/ envois de mail
3/ envois de mail

Apparemment, me suis plantée cela ne fonctionne pas :??: 
Juste le petit message "Erreur d'envoie du message" qui s'affiche.
Le pire! c'est que cela fonctionnais avant que je fasse des modif :heink: 
(enfin, pour les deux premiers)
-Modif faites:
texte et l'@ mail (deux au lieu d'une seul, séparées par " ; " )


  1. Private Sub CommandButton1_Click()
  2. On Error GoTo Err
  3.  
  4. Set myOlapp = CreateObject("Outlook.Application")
  5. Set Email = myOlapp.CreateItem(olMailItem)
  6.  
  7.  
  8. Dim destinataires As String
  9. destinataires = Email.Recipients.Add(Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("C58").Value)
  10.  
  11. Dim agence As String
  12. agence = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H13").Value
  13.  
  14. Email.Subject = "Prise en compte de l'intervention: " & agence
  15.  
  16. Email.Body = corpsdumail()
  17.  
  18. Email.Send
  19. MsgBox ("Le message a bien été envoyé")
  20.  
  21.  
  22. Exit Sub
  23.  
  24. Err:
  25. MsgBox ("Erreur d'envoie du message")
  26. End Sub
  27.  
  28.  
  29.  
  30.  
  31.  
  32. Function corpsdumail() As String
  33. Dim Ninter As String
  34. Ninter = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H8").Value
  35.  
  36. Dim Presta As String
  37. Presta = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("B13").Value
  38.  
  39. Dim Mot As String
  40. Mot = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("B29").Value
  41.  
  42. Dim echea As String
  43. echea = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("D27").Value
  44.  
  45. Dim delai As String
  46. delai = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("I30").Value
  47.  
  48. Dim texte As String
  49. texte = "Bonjour," & _
  50. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:" & vbCrLf & _
  51. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:" & _
  52. vbCrLf & vbCrLf & "XXXXXXXXXX: " & Ninter & _
  53. vbCrLf & "XXXXXXXXXXXXXX: " & Presta & _
  54. vbCrLf & "XXXXXXXXXXXXXXXXX :" & Mot & _
  55. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXéXXXXXX éXXXX : " & echea & _
  56. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX " & delai & "XXXX" & vbCrLf & _
  57. vbCrLf & "Cordialement" & vbCrLf & _
  58. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXX."
  59.  
  60.  
  61. corpsdumail = texte
  62.  
  63. End Function
  64.  
  65. Private Sub CommandButton2_Click()
  66. On Error GoTo Err
  67.  
  68. Set myOlapp = CreateObject("Outlook.Application")
  69. Set Email = myOlapp.CreateItem(olMailItem)
  70.  
  71. Dim destinataires As String
  72. destinataires = Email.Recipients.Add(Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("C58").Value)
  73.  
  74. Dim agence As String
  75. agence = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H13").Value
  76.  
  77. Dim BO As String
  78. BO = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("G13").Value
  79.  
  80. Email.Subject = " XXXXXXXXXXXXXXXXXXXXXXXXXXXXX : XXXXXX DE " & agence & " " & BO
  81.  
  82.  
  83. Email.Body = corpsdumails()
  84.  
  85. Email.Send
  86. MsgBox ("Le message a bien été envoyé")
  87. Exit Sub
  88.  
  89. Err:
  90. MsgBox ("Erreur d'envoie du message")
  91. End Sub
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. Function corpsdumails() As String
  99. Dim Ninter As String
  100. Ninter = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H8").Value
  101.  
  102. Dim Age As String
  103. Age = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H13").Value
  104.  
  105. Dim BO As String
  106. BO = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("G13").Value
  107.  
  108. Dim adrs As String
  109. adrs = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("G15").Value
  110.  
  111. Dim Dpt As String
  112. Dpt = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("G16").Value
  113.  
  114. Dim vil As String
  115. vil = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H16").Value
  116.  
  117. Dim dest As String
  118. dest = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("A44").Value
  119.  
  120. Dim pan As String
  121. pan = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("B29").Value
  122.  
  123. Dim texte As String
  124. texte = "XXXXXXXXXX" & _
  125. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXX : " & Ninter & vbCrLf & _
  126. vbCrLf & "Bonjour," & vbCrLf & _
  127. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX : " & vbCrLf & _
  128. vbCrLf & "XXXXXX :" & Age & _
  129. vbCrLf & "XXXXX :" & BO & _
  130. vbCrLf & "adresse :" & adrs & Dpt & vil & _
  131. vbCrLf & "XXXXXXXXX :" & dest & vbCrLf & _
  132. vbCrLf & vbCrLf & "XXXXXXXXXXXXXXXX:" & _
  133. vbCrLf & pan
  134.  
  135.  
  136. corpsdumails = texte
  137. End Function
  138.  
  139. Private Sub CommandButton3_Click()
  140. On Error GoTo Err
  141.  
  142. Set myOlapp = CreateObject("Outlook.Application")
  143. Set Email = myOlapp.CreateItem(olMailItem)
  144.  
  145.  
  146. Dim destinataires As String
  147. destinataires = Email.Recipients.Add(Workbooks("GI 2009").Worksheets("Formulaire").Range("C58").Value)
  148.  
  149. Dim agence As String
  150. agence = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("G13").Value
  151.  
  152. Email.Subject = " Cloture de l'intervention " & agence
  153.  
  154. Email.Body = corpsdumailss()
  155.  
  156. Email.Send
  157. MsgBox ("Le message a bien été envoyé")
  158.  
  159.  
  160. Exit Sub
  161.  
  162. Err:
  163. MsgBox ("Erreur d'envoie du message")
  164. End Sub
  165.  
  166.  
  167. Function corpsdumailss() As String
  168. Dim Ninter As String
  169. Ninter = Workbooks("GI 2009").Worksheets("FORMULAIRE").Range("H8").Value
  170.  
  171. Dim clo As String
  172. clo = Workbooks("GI 2009").Worksheets("FORMAULAIRE").Range("I27").Value
  173.  
  174. Dim texte As String
  175. texte = "Bonjour," & _
  176. vbCrLf & "XXXXXXXXXXXXXXXXXXX" & Ninter & "a XXXXXXXXXXXXXXXXXXXXXXXXxx" & clo & ".Merci,XXXXXXXXXXXXX." & _
  177. vbCrLf & "XXXXXXXXXXXXXXXXXXXXXXXXX"
  178. corpsdumailss = texte
  179. End Function
Citation :
la cassse pour "corpsdumail"
pour chaque boutons je change la variable en:
corpsdumail s ou 1
corpsdumails s ou 2
....

et pour les retours ChariO?
  1. .....vbcrLf & _
  2. vbcLf........"
  3. End Sub

Pensez-vous que cela peut venir de là ? :sweat: 
Si j'ai oublié des infos, n'hésitez pas.


MERCI à TouS :) 
Lassé par la pub ? Créez un compte
Expert Programmation

J'ai rien compris. Et surtout, tu donnes trop d'info, je pense, inutile.

As-tu le code original qui fonctionne ?
Quels sont exactement, les changements effectués.

En particulier, tu parles de retour chariot. Respecte bien les doubles retours chariot présents dans le code originel. Quoi que ce devrait être à ton MUA de gérer ça.

Salut,

Rajoute pour commencer dans ton message d'erreur (PS : les parenthèses sont inutiles pour les actions, seules les fonctions en ont besoin) :

  1. MsgBox "Erreur d'envoi du message : " & err.description


Ca te dira ce qui te pose problème.

Déclare tes variables en haut dans tes procédures, d'ailleurs je ne vois pas la déclaration de myOlapp et de Email. Si tu ne l'as pas mis au début de ton code, rajoute en haut de ton module :

  1. Option Explicit


Lassé par la pub ? Créez un compte