Code VBA envoi feuil xlsx par Outlook
MAN78460
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
cs_Le Pivert Messages postés 7904 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
3 jours que je cherche le bon code pour mes besoins...
J'ai plusieurs feuilles dans mon classeur, mais chaque feuille peut avoir un destinataire différents
2 Boutons qui fonctionne bien (merci tuto youtube et CCM, en suivant les instructions pas à pas ça marche)
1- archive la feuille en PDF
2- envoi via outlook en PDF
et celui qui me manque le N°3 envoi la feuille en excel sauf si on peut insérer le code dans le bouton 2, ça fera un seul envoi PDF et XLSX
Je débute, j'ai tout fouillé et essayé un tas de code, mais là je seche
Voici les codes que j'utilise
'procedure permettant d'archivé le contenu d'une feuille excel
Sub ArchiveRapport()
'déclaration des variables
Dim CheminAcces As String
Dim Reponse As Integer
'affectation de la variable
CheminAcces = "C:\Facturation transport\001-2 Contrôle factures 2018\Avril à Mars 2019\Archive_envoi_ano_facturation\"
Reponse = MsgBox("Désirez-vous sauvegarder le rapport ? ", vbQuestion + vbYesNo, "Enregistrement")
'on test la réponse de l'utilisateur
If Reponse = vbYes Then
Feuil20.ExportAsFixedFormat xlTypePDF, CheminAcces & "Synthèse" & Feuil20.Range("A124").Value & ".pdf", xlQualityStandard, _
True, False, , , False
MsgBox "Resultat du rapport des anomalies" & Feuil20.Range("a1").Value & " a été sauvegardé", vbOKOnly + vbInformation, "SAUVEGARDE"
Else
Exit Sub 'on quitte la procédure
End If
End Sub
-----------------------------------
'procedure permettant l'envoi par email d'une feuille excelOption Explicit
Sub MessageOutlook()
'décalration des variables
Dim MaMessagerie As Object 'messagerie Outlook
Dim MonMessage As Object 'le message à envoyer
Dim MonContenu As String 'le contenu du message envoyé
Dim AdresseEmail As String 'l'adresse du destinataire
Dim MonTDB As String 'le nom du classeur
Dim MonClasseur As String 'nom du classeur
'affectation des variables
Set MaMessagerie = CreateObject("Outlook.Application")
Set MonMessage = MaMessagerie.CreateItem(0)
AdresseEmail = "xxx@xxxx.com"
AdresseEmail = "xxx@xxx.fr"
MonTDB = "Synthèse contrôle facturation"
'on créé le fichier pdf temporaire avant de le supprimer
Feuil20.ExportAsFixedFormat xlTypePDF, ActiveWorkbook.Path & "\" & MonTDB & ".pdf", xlQualityStandard, True, False, 1, 1, False
'creation du messsage à envoyer
With MonMessage
.To = AdresseEmail 'detinataire du message
.Subject = "Synthèse contrôle facturation"
MonContenu = "Bonjour Patricia," & vbNewLine & vbNewLine & "Tu trouveras en pièce jointe un fichier synthèse des anomalies des opérations de : " & vbNewLine & Feuil20.Range("b1").Value & vbNewLine & vbNewLine & vbNewLine & "Cordialement" & vbNewLine & vbNewLine & "Manuel Bogalheiro"
'on affecte le contenu dans le corp du message
.Body = MonContenu
'on recupere le nom du fichier dans une variable
MonClasseur = ActiveWorkbook.Path & "\" & MonTDB & ".pdf"
'ont joint mon fichier
.Attachments.Add (MonClasseur)
.Send
End With
'on confirme l'envoi du mail
MsgBox "le mail à été envoyé", vbInformation + vbOKOnly, "message"
'on supprime le fichier temporaire
Kill ActiveWorkbook.Path & "\" & MonTDB & ".pdf"
'on libere la memoire de la messagerie outlook
Set MaMessagerie = Nothing
End Sub
Merci à vous
3 jours que je cherche le bon code pour mes besoins...
J'ai plusieurs feuilles dans mon classeur, mais chaque feuille peut avoir un destinataire différents
2 Boutons qui fonctionne bien (merci tuto youtube et CCM, en suivant les instructions pas à pas ça marche)
1- archive la feuille en PDF
2- envoi via outlook en PDF
et celui qui me manque le N°3 envoi la feuille en excel sauf si on peut insérer le code dans le bouton 2, ça fera un seul envoi PDF et XLSX
Je débute, j'ai tout fouillé et essayé un tas de code, mais là je seche
Voici les codes que j'utilise
'procedure permettant d'archivé le contenu d'une feuille excel
Sub ArchiveRapport()
'déclaration des variables
Dim CheminAcces As String
Dim Reponse As Integer
'affectation de la variable
CheminAcces = "C:\Facturation transport\001-2 Contrôle factures 2018\Avril à Mars 2019\Archive_envoi_ano_facturation\"
Reponse = MsgBox("Désirez-vous sauvegarder le rapport ? ", vbQuestion + vbYesNo, "Enregistrement")
'on test la réponse de l'utilisateur
If Reponse = vbYes Then
Feuil20.ExportAsFixedFormat xlTypePDF, CheminAcces & "Synthèse" & Feuil20.Range("A124").Value & ".pdf", xlQualityStandard, _
True, False, , , False
MsgBox "Resultat du rapport des anomalies" & Feuil20.Range("a1").Value & " a été sauvegardé", vbOKOnly + vbInformation, "SAUVEGARDE"
Else
Exit Sub 'on quitte la procédure
End If
End Sub
-----------------------------------
'procedure permettant l'envoi par email d'une feuille excelOption Explicit
Sub MessageOutlook()
'décalration des variables
Dim MaMessagerie As Object 'messagerie Outlook
Dim MonMessage As Object 'le message à envoyer
Dim MonContenu As String 'le contenu du message envoyé
Dim AdresseEmail As String 'l'adresse du destinataire
Dim MonTDB As String 'le nom du classeur
Dim MonClasseur As String 'nom du classeur
'affectation des variables
Set MaMessagerie = CreateObject("Outlook.Application")
Set MonMessage = MaMessagerie.CreateItem(0)
AdresseEmail = "xxx@xxxx.com"
AdresseEmail = "xxx@xxx.fr"
MonTDB = "Synthèse contrôle facturation"
'on créé le fichier pdf temporaire avant de le supprimer
Feuil20.ExportAsFixedFormat xlTypePDF, ActiveWorkbook.Path & "\" & MonTDB & ".pdf", xlQualityStandard, True, False, 1, 1, False
'creation du messsage à envoyer
With MonMessage
.To = AdresseEmail 'detinataire du message
.Subject = "Synthèse contrôle facturation"
MonContenu = "Bonjour Patricia," & vbNewLine & vbNewLine & "Tu trouveras en pièce jointe un fichier synthèse des anomalies des opérations de : " & vbNewLine & Feuil20.Range("b1").Value & vbNewLine & vbNewLine & vbNewLine & "Cordialement" & vbNewLine & vbNewLine & "Manuel Bogalheiro"
'on affecte le contenu dans le corp du message
.Body = MonContenu
'on recupere le nom du fichier dans une variable
MonClasseur = ActiveWorkbook.Path & "\" & MonTDB & ".pdf"
'ont joint mon fichier
.Attachments.Add (MonClasseur)
.Send
End With
'on confirme l'envoi du mail
MsgBox "le mail à été envoyé", vbInformation + vbOKOnly, "message"
'on supprime le fichier temporaire
Kill ActiveWorkbook.Path & "\" & MonTDB & ".pdf"
'on libere la memoire de la messagerie outlook
Set MaMessagerie = Nothing
End Sub
Merci à vous
A voir également:
- Code VBA envoi feuil xlsx par Outlook
- Code ascii - Guide
- Xlsx - Télécharger - Tableur
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
1 réponse
Bonjour,
Voir ceci pour ajouter une pièce jointe dans le même envoi:
https://docs.microsoft.com/fr-fr/office/vba/api/Outlook.Attachments.Add
Voir ceci pour ajouter une pièce jointe dans le même envoi:
https://docs.microsoft.com/fr-fr/office/vba/api/Outlook.Attachments.Add