importer une partie d un tableau

  • Initiateur de la discussion Initiateur de la discussion STEPHANIE
  • Date de début Date de début

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 !

S

STEPHANIE

Guest
bonjour tout le monde,

je cherche a importer une range representant un graphique dans un mail en pieces jointes, le probleme c est que ma macro est destinée a envoyer un classeur entier :

Private Sub CommandButton1_Click()

'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher 'Microsoft Outlook Library'

Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
Dim i As Integer

Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)

With olmail

.To = Feuil1.Range('a1').Value 'destinataire
.Subject = Feuil1.Range('j10') + Feuil1.Range('j10')
.Body = 'Bonjour je suis le corps du texte'
.Attachments.Add 'c:\\graph.xls' 'Si tu as une Piece jointe'
.Display
'.Send

'On peut switcher entre .send et .display selon que l'on veut envoyer le mail (send) ou seulement le préparer et le vérifier(display)
End With
End Sub



et moi je veux juste envoyer par mail une partie de mon classeur qui est un tableau allant de k2 a n13.

Est il possible d arranger ma macro pour qu elle puisse le faire automatiquement?

merci
stephanie.
 
bonjour Stephanie

j'espere que cet exemple pourra t'aider


Code:
Sub envoiMail()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim Wb As Workbook

Set Wb = Workbooks.Add(1) 'creation nouveau classeur temporairie
ThisWorkbook.Sheets(1).Range('K2:N13').Copy
Wb.Sheets(1).Cells(1, 1).PasteSpecial 'copie plage de cellules dans ce nouveau classeur

Wb.SaveAs 'C:/graphTemp.xls' 'sauvegarde nouveau classeur temporaire
Wb.Close

Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)

With olmail
.To = Feuil1.Range('A1').Value 'destinataire
.Subject = Feuil1.Range('J10')
.Body = 'Bonjour je suis le corps du texte'
.Attachments.Add 'C:/graphTemp.xls' 'Si tu as une Piece jointe'
.Display
'.Send
'On peut switcher entre .send et .display selon que l'on veut
'envoyer le mail (send) ou seulement le préparer et le vérifier(display)
End With

Kill 'C:/graphTemp.xls' 'suppression classeur temporaire
End Sub


bonne journée
MichelXld
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
819
Réponses
2
Affichages
809
Retour