OVH Cloud OVH Cloud

Mail d'UNE feuille et retour sur le classeur originel

3 réponses
Avatar
ManBas
Bonjour,
J'ai écris ce code:

Dim adresses As String
On Error Resume Next
If maCondition Then adresses = "bibalula@yes.fr"
Sheets("Feuil1").Select
If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
'jusqu'ici ça va, mais là le code se bloque puisque la nouvelle feuille est
un nouveau classeur
ThisWorkbook.Close
' et maintenant ça ferme tout y compris le classeur originel

Mon problème c'est envoyer 1 seule feuille du classeur, mais je ne sais pas
controler le nom du classeur crée, ni sa fermeture automatique, pour
reprendre le code dans le classeur d'origine.

Merci d'avance +++

3 réponses

Avatar
Philippe.R
Bonsoir,
Tu as au moins cet exemple sur Excelabo :
http://www.excelabo.net/xl/sortir.php#feuillemail
sinon tu ajouter essayer de modifier comme suit :

If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
activeWorkbook.Close

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"ManBas" a écrit dans le message de news:

Bonjour,
J'ai écris ce code:

Dim adresses As String
On Error Resume Next
If maCondition Then adresses = ""
Sheets("Feuil1").Select
If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
'jusqu'ici ça va, mais là le code se bloque puisque la nouvelle feuille est un nouveau classeur
ThisWorkbook.Close
' et maintenant ça ferme tout y compris le classeur originel

Mon problème c'est envoyer 1 seule feuille du classeur, mais je ne sais pas controler le nom du
classeur crée, ni sa fermeture automatique, pour reprendre le code dans le classeur d'origine.

Merci d'avance +++






Avatar
Philippe.R
Oups !
Moi y'en a parler la France !
sinon tu essayer de modifier comme suit
--
Amicales Salutations

"Philippe.R" a écrit dans le message de news:
%
Bonsoir,
Tu as au moins cet exemple sur Excelabo :
http://www.excelabo.net/xl/sortir.php#feuillemail
sinon tu ajouter essayer de modifier comme suit :

If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
activeWorkbook.Close

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"ManBas" a écrit dans le message de news:

Bonjour,
J'ai écris ce code:

Dim adresses As String
On Error Resume Next
If maCondition Then adresses = ""
Sheets("Feuil1").Select
If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
'jusqu'ici ça va, mais là le code se bloque puisque la nouvelle feuille est un nouveau classeur
ThisWorkbook.Close
' et maintenant ça ferme tout y compris le classeur originel

Mon problème c'est envoyer 1 seule feuille du classeur, mais je ne sais pas controler le nom du
classeur crée, ni sa fermeture automatique, pour reprendre le code dans le classeur d'origine.

Merci d'avance +++









Avatar
ManBas
Bonjour Philippe,
Merci de ton aide.
En rajoutant SaveChangeúlse ça fonctionne en automatique
Petit problème: il y a maintenant une fenêtre d'alerte Outlook (il suffit de
répondre "envoyer") mais ce qui est dommage c'est que cette fenêtre
n'affiche pas les adresses.

"Philippe.R" a écrit dans le message de news:
%
Bonsoir,
Tu as au moins cet exemple sur Excelabo :
http://www.excelabo.net/xl/sortir.php#feuillemail
sinon tu ajouter essayer de modifier comme suit :

If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
activeWorkbook.Close

--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"ManBas" a écrit dans le message de news:

Bonjour,
J'ai écris ce code:

Dim adresses As String
On Error Resume Next
If maCondition Then adresses = ""
Sheets("Feuil1").Select
If ActiveSheet.Name = "Feuil1" Then
ThisWorkbook.ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show adresses, "MonLibellé"
'jusqu'ici ça va, mais là le code se bloque puisque la nouvelle feuille
est un nouveau classeur
ThisWorkbook.Close
' et maintenant ça ferme tout y compris le classeur originel

Mon problème c'est envoyer 1 seule feuille du classeur, mais je ne sais
pas controler le nom du classeur crée, ni sa fermeture automatique, pour
reprendre le code dans le classeur d'origine.

Merci d'avance +++