OVH Cloud OVH Cloud

Pb d'envoi de feuille par mail

2 réponses
Avatar
ManBas
Bonjour,
Aprés un fil du 20 du mois courant, j'ai écris ce code dont le but était
d'envoyer automatiquement la feuille en classeur joint puis de fermer
automatiquement le classeur joint crée et revenir sur le classeur d'origine.

Sheets("V").Visible = True
Sheets("V").Select
ThisWorkbook.Sheets("V").Copy
ActiveWorkbook.SendMail ("tata@toto.fr") ', "sujet du mail"
ActiveWorkbook.Close Savechanges:=False
Sheets("V").Visible = False
Sheets("autre feuille").Select

ça a marché! (si,si, et même trés bien).
Alors pourquoi aujourd'hui F8 passe-t-il sur
ActiveWorkbook.SendMail ("tata@toto.fr"), "sujet du mail"
sans sourciller et sans envoyer le mail?

Dans une variante qui a elle aussi fonctionné (!!):

Dim adresses As String
On Error Resume Next
Sheets("V").Visible = True
If Range("Feuill!a1").Value = "zaza" Then adresses = "toto@tata.fr"
If Range("Ordonnance!h1").Value = "" Then MsgBox "Vous n'avez pas
précisé le ..."
Exit Sub
Else
Sheets("V").Select
ThisWorkbook.Sheets("Ordonnance").Copy
ActiveWorkbook.SendMail (adresses), "sujet du mail"
ActiveWorkbook.Close Savechanges:=False
Sheets("V").Visible = False
End If

aujourd'hui la boite d'envoi s'ouvre avec la liste des destinataires vide!
(sans que le message s'affiche bien sûr puisque a1 est renseigné).

Deux dysfonctionnements differents pour un code si proche et qui a déjà
fonctionné?
Eclairez-moi de votre infini savoir!
Mille merci d'avance.

2 réponses

Avatar
ManBas
Complément d'information: j'ai viré le exit sub dans la deuxième version,
c'est pas mieux mais déjà ça explique un saut inopportun. Et à la place de
Ordonnance il faut lire V.
La version du 20, elle, fonctionne toujours!
La difference c'est que les macro étaient affectées à un bouton de BO alors
que maintenant elle sont affectées à un bouton de userform: a priori sans
aucun rapport avec mes dysfonctionnements?

"ManBas" a écrit dans le message de news:
%
Bonjour,
Aprés un fil du 20 du mois courant, j'ai écris ce code dont le but était
d'envoyer automatiquement la feuille en classeur joint puis de fermer
automatiquement le classeur joint crée et revenir sur le classeur
d'origine.

Sheets("V").Visible = True
Sheets("V").Select
ThisWorkbook.Sheets("V").Copy
ActiveWorkbook.SendMail ("") ', "sujet du mail"
ActiveWorkbook.Close Savechanges:úlse
Sheets("V").Visible = False
Sheets("autre feuille").Select

ça a marché! (si,si, et même trés bien).
Alors pourquoi aujourd'hui F8 passe-t-il sur
ActiveWorkbook.SendMail (""), "sujet du mail"
sans sourciller et sans envoyer le mail?

Dans une variante qui a elle aussi fonctionné (!!):

Dim adresses As String
On Error Resume Next
Sheets("V").Visible = True
If Range("Feuill!a1").Value = "zaza" Then adresses = ""
If Range("Ordonnance!h1").Value = "" Then MsgBox "Vous n'avez pas
précisé le ..."
Exit Sub
Else
Sheets("V").Select
ThisWorkbook.Sheets("Ordonnance").Copy
ActiveWorkbook.SendMail (adresses), "sujet du mail"
ActiveWorkbook.Close Savechanges:úlse
Sheets("V").Visible = False
End If

aujourd'hui la boite d'envoi s'ouvre avec la liste des destinataires vide!
(sans que le message s'affiche bien sûr puisque a1 est renseigné).

Deux dysfonctionnements differents pour un code si proche et qui a déjà
fonctionné?
Eclairez-moi de votre infini savoir!
Mille merci d'avance.



Avatar
ManBas
Voilà la dernière version. Cette fois j'ai la boite d'envoi qui apparait,
j'ai l'adresse affichée, je clique sur envoyer, mais le message n'est jamais
envoyé. Il n'existe ni dans la boite d'envoi ni dans les envoyés!!!
(je n'ai plus les yeux en face des trous)

Private Sub mail_Click()
On Error Resume Next
Sheets("V").Visible = True
Dim adresses As String
If Range("V!a1").Value = "toto" Then adresses = ""
If Range("V!a1").Value = " " Then adresses = ""
If adresses = "" Then
MsgBox "Vous n'avez pas précisé... "
GoTo fin
End If
Sheets("V").Select
ThisWorkbook.Sheets("V").Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "blabla" &
Range("V!a1").Value
fin:
End If
ActiveWorkbook.Close Savechanges:úlse
Sheets("V").Visible = False
End Sub

"ManBas" a écrit dans le message de news:
%
Bonjour,
Aprés un fil du 20 du mois courant, j'ai écris ce code dont le but était
d'envoyer automatiquement la feuille en classeur joint puis de fermer
automatiquement le classeur joint crée et revenir sur le classeur
d'origine.

Sheets("V").Visible = True
Sheets("V").Select
ThisWorkbook.Sheets("V").Copy
ActiveWorkbook.SendMail ("") ', "sujet du mail"
ActiveWorkbook.Close Savechanges:úlse
Sheets("V").Visible = False
Sheets("autre feuille").Select

ça a marché! (si,si, et même trés bien).
Alors pourquoi aujourd'hui F8 passe-t-il sur
ActiveWorkbook.SendMail (""), "sujet du mail"
sans sourciller et sans envoyer le mail?

Dans une variante qui a elle aussi fonctionné (!!):

Dim adresses As String
On Error Resume Next
Sheets("V").Visible = True
If Range("Feuill!a1").Value = "zaza" Then adresses = ""
If Range("Ordonnance!h1").Value = "" Then MsgBox "Vous n'avez pas
précisé le ..."
Exit Sub
Else
Sheets("V").Select
ThisWorkbook.Sheets("Ordonnance").Copy
ActiveWorkbook.SendMail (adresses), "sujet du mail"
ActiveWorkbook.Close Savechanges:úlse
Sheets("V").Visible = False
End If

aujourd'hui la boite d'envoi s'ouvre avec la liste des destinataires vide!
(sans que le message s'affiche bien sûr puisque a1 est renseigné).

Deux dysfonctionnements differents pour un code si proche et qui a déjà
fonctionné?
Eclairez-moi de votre infini savoir!
Mille merci d'avance.