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

XL 2013 envoi mail vba

flo189

XLDnaute Occasionnel
Bonjour,

Un peu novice dans la matière, je souhaiterais envoyé par mail via le bouton (logo mail) la feuille "Stock" de la ligne 29 à 71.

J'ai plusieurs destinataires, un objet = "Stock", pour le corps du mail =" Bonjour, veuillez trouver ci joint le stock".

Mon fichier en PJ.

Merci à tous pour votre aide précieuse.
 

Pièces jointes

  • Gestion dossier.xlsm
    2.8 MB · Affichages: 45

flo189

XLDnaute Occasionnel
Merci à tous de votre aide.

En fait l'idée c'est de prendre exactement le premier fichier de Bougla convers 2 mais au lieu d'envoyer le classeur dans sa globalité ce serait d'envoyer uniquement la feuille "stock".
 

Bougla972

XLDnaute Occasionnel
Flo,

Je ne parviens pas à attacher un fichier si celui si n'est pas enregistrer... Oui car dans la méthode 'Add' de WorkBook il nous faut absolument connaitre le 'Fullname'....

Par conséquent, le fichier joint fais ce que tu souhaites excepté l'attachement du fichier ua mail... A faire manuellement du coup...

Peut-être que Lone-Wolf ou d'autres parviendront à résoudre ce problème.
 

Pièces jointes

  • Gestion dossier.xlsm
    2.8 MB · Affichages: 48

Lone-wolf

XLDnaute Barbatruc
Re

"C:\Users\" & Util & "\Desktop\ c'est faux, à corriger par "C:\Users\" & Environ("Username") & "\Desktop\
Et tu as des références manquantes dans date de livraison et emplacement. Pourquoi tu n'utilise pas mon fichier??
 

Bougla972

XLDnaute Occasionnel
Flo,

Que veux tu dire ?

Je te disais en post #18 que l'attachement du fichier est à faire manuellement car je n'arrive pas à l'attacher automatiquement.

A part cela, je pense que cela répond à ta demande, non ?
 

Lone-wolf

XLDnaute Barbatruc
Re

Pour pouvoir l'attaché par macro, il faut bien faire une copie et l'enregister.

VB:
Option Explicit

Sub Copie_Feuille()
Dim wks As Workbook, chemin$, fichier$, nom$

    With Sheets("Stock")
        .Activate
        .Range("a4:k79").Copy
    End With
  
    chemin = ThisWorkbook.Path & "\Fichiers\"
    nom = ActiveSheet.Name
    ActiveSheet.SaveAs Filename:=chemin & nom & ".xls", FileFormat:=xlExcel8
End Sub

Sub Envoi_Mail()
Dim olApp As Object
Dim olMail
Dim nom As Range, derlig As Long, i As Long, chemin$, fichier$, _
envois$, sujet$, corps$, Liste$, Rep_Doc$


    With Sheets("Envois Mail")
        .Activate
        envois = .Range("a2")
        sujet = .Range("e2")
        corps = .Range("f2")
        Set nom = .Range("g2")
        derlig = .Range("c" & Rows.Count).End(xlUp).Row
        For i = 2 To derlig
            Liste = Liste & Cells(i, 3).Value & ";"
        Next i
    End With
    chemin = ThisWorkbook.Path & "\Fichiers\"
    fichier = nom.Value & ".xls"

    Set olApp = CreateObject("Outlook.Application")
    Set olMail = olApp.CreateItem(0)

    With olMail
        .To = envois
        .Subject = sujet
        .BCC = Liste
        .Body = corps
        .Attachments.Add chemin & fichier
        .Display
        '.Send
    End With
    Rep_Doc = Dir(chemin & "*.*")
    Do While Rep_Doc <> ""
        Kill chemin & Rep_Doc
        Rep_Doc = Dir
    Loop

    Set olMail = Nothing
    Set olApp = Nothing
End Sub
 

flo189

XLDnaute Occasionnel
Je voulais dire que si c'était par rapport à l'intitulé de mon classeur et la feuille stock les intitulés restent fixes.
Je pensais que cela te posait problème par rapport à ca.
La solution manuelle restera mon dernier recourt.
 

Discussions similaires

Réponses
16
Affichages
535
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…