Probleme d'envoi feuille par e-mail

Le
Alex
Bonjour à tous,

Je rencontre un problème pour l'envoi d'une feuille par e-mail, malgre
les nombreux sujets sur le forum, je n'arrive pas à trouver la
solution, et viens chercher de l'aide.
Depuis un userform, un bouton devrait permettre l'envoi d'une fiche
par e-mail, j'arrive bien à faire la copie de ma fiche dans mon
classeur actif, de la renommer avec le nom de la valeur d'une cellule
de la feuille, puis à recopier cette nouvelle fiche dans un nouveau
classeur et à le sauvegarder toujours avec le nom de la valeur de la
cellule. Je genere outlook, les correspondants, l'objet, et le corps
du texte, mais cela coince sur .Attachments.Add.
Voici mes lignes de commandes avec mes commentaires :

'Fiche d'origine
Sheets("FichePerso2").Select
'Copie de ma fiche d'origine
Sheets("FichePerso2").Copy Before:=Sheets(7)
'Renommer la fiche par la valeur d'une cellule de la feuille
Sheets("FichePerso2 (2)").Select
Sheets("FichePerso2 (2)").Name = Range("S81").Value
'Copie dans un nouveau classeur de la fiche nouvellement nommée
Sheets(Range("S81").Value).Copy
'Sauvegarde du classeur
ActiveWorkbook.SaveAs Filename:=Range("S81").Value
'Generation d'outlook avec son corps de message
Dim appoutlook As Outlook.Application
Dim message As Outlook.MailItem


Set appoutlook = CreateObject("outlook.application")
Set message = appoutlook.CreateItem(olMailItem)
With message
' .To = ("MAUN Alexandre")
.Recipients.Add ("VAIERE Stéphanie")
.Subject = "Fiche Perso de " & Range("S81").Value
.Body = "Bonjour," & Chr(13) & Chr(13) & "Veuillez trouver ci-
joint la fiche Perso de ." & Range("S81").Value

' Ca beug ici : j'ai tenté avec les trois lignes suivantes, mais cela
ne fonctionne pas
'Pour celui ci, j'ai le message Erreur d'excution 438 Propriété
ou méthode non gérée par cet objet

.Attachments.Add ActiveWorkbook & "" & ActiveWorkbook.Name

' Pour le second, erreur d'execution 1491058683 (a72004005) La taille
de la pièce dépasse la limite maximale
' Le second message me laisse à penser que cela adresse mon calsseur
d'origine qui est très lourd et non mon classeur avec uniquement ma
fiche qui elle ne pese que 142 ko
.Attachments.Add ThisWorkbook.Path & "" & ThisWorkbook.Name



'pour la troisieme erreur d'execution 424 Objet requis

.Attachments.Add Workbook.Name = Range("S81").Value & "" &
Workbook.Name + Range("S81").Value


'en display car le mail doit pouvoir être compléter
.Display
End With

Merci par avance de votre aide.
Bien cordialement.
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
daniel.j
Le #25344512
des exemples ici

http://dj.joss.free.fr/web.htm

Daniel



Le 16/04/2013 10:51, Alex a écrit :
Bonjour à tous,

Je rencontre un problème pour l'envoi d'une feuille par e-mail, malgre
les nombreux sujets sur le forum, je n'arrive pas à trouver la
solution, et viens chercher de l'aide.
Depuis un userform, un bouton devrait permettre l'envoi d'une fiche
par e-mail, j'arrive bien à faire la copie de ma fiche dans mon
classeur actif, de la renommer avec le nom de la valeur d'une cellule
de la feuille, puis à recopier cette nouvelle fiche dans un nouveau
classeur et à le sauvegarder toujours avec le nom de la valeur de la
cellule. Je genere outlook, les correspondants, l'objet, et le corps
du texte, mais cela coince sur .Attachments.Add.
Voici mes lignes de commandes avec mes commentaires :

'Fiche d'origine
Sheets("FichePerso2").Select
'Copie de ma fiche d'origine
Sheets("FichePerso2").Copy Before:=Sheets(7)
'Renommer la fiche par la valeur d'une cellule de la feuille
Sheets("FichePerso2 (2)").Select
Sheets("FichePerso2 (2)").Name = Range("S81").Value
'Copie dans un nouveau classeur de la fiche nouvellement nommée
Sheets(Range("S81").Value).Copy
'Sauvegarde du classeur
ActiveWorkbook.SaveAs Filename:=Range("S81").Value
'Generation d'outlook avec son corps de message
Dim appoutlook As Outlook.Application
Dim message As Outlook.MailItem


Set appoutlook = CreateObject("outlook.application")
Set message = appoutlook.CreateItem(olMailItem)
With message
' .To = ("MAUN Alexandre")
.Recipients.Add ("VAIERE Stéphanie")
.Subject = "Fiche Perso de " & Range("S81").Value
.Body = "Bonjour," & Chr(13) & Chr(13) & "Veuillez trouver ci-
joint la fiche Perso de ." & Range("S81").Value

' Ca beug ici : j'ai tenté avec les trois lignes suivantes, mais cela
ne fonctionne pas
'Pour celui ci, j'ai le message Erreur d'excution 438 Propriété
ou méthode non gérée par cet objet

.Attachments.Add ActiveWorkbook & "" & ActiveWorkbook.Name

' Pour le second, erreur d'execution 1491058683 (a72004005) La taille
de la pièce dépasse la limite maximale
' Le second message me laisse à penser que cela adresse mon calsseur
d'origine qui est très lourd et non mon classeur avec uniquement ma
fiche qui elle ne pese que 142 ko
.Attachments.Add ThisWorkbook.Path & "" & ThisWorkbook.Name



'pour la troisieme erreur d'execution 424 Objet requis

.Attachments.Add Workbook.Name = Range("S81").Value & "" &
Workbook.Name + Range("S81").Value


'en display car le mail doit pouvoir être compléter
.Display
End With

Merci par avance de votre aide.
Bien cordialement.
Alex

Alex
Le #25344542
Bonjour,

Merci pour ta réponse et le lien. En effet, le lien propose bien des
exemples mais avec un envoi immédiat, (et fonctionne très bien), mon
problème c'est que je souhaiterai que le mail soit généré mais pas
envoyé afin de pouvoir le completer.
Merci par avance de votre aide.
Bien cordialement.
Alex
Alex
Le #25344962
Re :

J'ai trouvé la solution, j'ai revu ma facon d'enregistrer le fichier
en précisant bien le chemin d'accès exacte, et pour joindre le fichier
à mon mail, j'ai mis :

.Attachments.Add ActiveWorkbook.Path & "" & ActiveWorkbook.Name

et la est bien identifié le fichier nouvellement crée.

Bien cordialement.
Alex
Publicité
Poster une réponse
Anonyme