Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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.
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
74
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
634
Réponses
3
Affichages
509
Réponses
2
Affichages
714
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…