XL 2016 Envoyer en PJ une plage de cellule d'une feuille

sebetclaire

XLDnaute Nouveau
Bonjour

Je souhaite envoyer par mail une plage de cellule d'une feuille.
Pour l'instant, ça fonctionne mais envoie la feuille en entier.
Je souhaiterai que la PJ commence à partir de la ligne 2
voici la macro que j'utilise
Sub envoimailtutoiement()
Dim OlApp As Object, OlMail As Object
Dim Adr1$, Chemin$, Fichier$, Nom$, Rep_Xlsx

Chemin = ThisWorkbook.Path & "\"
Nom = ActiveSheet.Name
adr = ActiveSheet.Range("a1").Value
ActiveSheet.Copy

Application.DisplayAlerts = False
ActiveSheet.SaveAs Filename:=Chemin & Nom & ".xlsx"
ActiveWorkbook.Close True

Set OlApp = CreateObject("Outlook.Application")
Set OlMail = OlApp.CreateItem(0)
Fichier = ThisWorkbook.Path & "\" & Nom & ".xlsx"

With OlMail
.To = adr 'Envoyer à
.Subject = "FACTURES " 'Sujet
.Body = "Bonjour," 'Corps du message
.Attachments.Add Fichier 'Fichier en pièce jointe
.Display
'.Send 'Envoi direct
End With

'OlApp.Quit
Set OlMail = Nothing
Set OlApp = Nothing

Rep_Xlsx = Dir(Chemin & "*.xlsx")
Do While Rep_Xlsx <> ""
Kill Chemin & Rep_Xlsx
Rep_Xlsx = Dir
Loop

End Sub

Merci de votre aide
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

sebetclaire
Même conseil que précédemment (dans ton autre fil)

Où d'ailleurs , tu n'es pas repassé pour un feedback (ou un petit merci)...
Second conseil: utilises les balises BBCODE, cela rends ton message plus joli ;)
VB:
Sub envoimailtutoiement()
Dim OlApp As Object, OlMail As Object
Dim Adr1$, Chemin$, Fichier$, Nom$, Rep_Xlsx

Chemin = ThisWorkbook.Path & "\"
Nom = ActiveSheet.Name
adr = ActiveSheet.Range("a1").Value
ActiveSheet.Copy

Application.DisplayAlerts = False
ActiveSheet.SaveAs Filename:=Chemin & Nom & ".xlsx"
ActiveWorkbook.Close True

Set OlApp = CreateObject("Outlook.Application")
Set OlMail = OlApp.CreateItem(0)
Fichier = ThisWorkbook.Path & "\" & Nom & ".xlsx"

With OlMail
.To = adr 'Envoyer à
.Subject = "FACTURES " 'Sujet
.Body = "Bonjour," 'Corps du message
.Attachments.Add Fichier 'Fichier en pièce jointe
.Display
'.Send 'Envoi direct
End With

'OlApp.Quit
Set OlMail = Nothing
Set OlApp = Nothing

Rep_Xlsx = Dir(Chemin & "*.xlsx")
Do While Rep_Xlsx <> ""
Kill Chemin & Rep_Xlsx
Rep_Xlsx = Dir
Loop

End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Donc trouvé dans les discussions similaires (c'était cela le conseil ;))

Tu devrais trouver chaussures à ton pied dans les deux PJ présentes dans ce fil.
 

sebetclaire

XLDnaute Nouveau
Merci beaucoup pour votre retour.
Désolé de ne pas avoir remercier dans mon précédent post.
J'ai finalement changer d'avis. Je ne souhaite plus séparer mes feuilles dans des classeurs différents. je vais rester dans le même classeur en envoyant les mails directement du classeur. Et ça fonctionne grâce au forum.
Maintenant je tente le plage de cellule et vous redis.
 

Discussions similaires

  • Question
Microsoft 365 Macro VBA
Réponses
2
Affichages
389

Statistiques des forums

Discussions
311 707
Messages
2 081 734
Membres
101 809
dernier inscrit
HADER2024