Microsoft 365 feuille excel en pièce jointe

gael56000

XLDnaute Nouveau
Bonjour à vous,

J'ai un fichier qui contient 52 onglets sur lequel je rempli mes arrivages et qui me sert de liaison avec mes clients....

Ma problématique est la suivante :
via un bouton :
- envoyer juste une sélection d'une feuille de la semaine concerné par mail en pièce jointe,
- prendre en compte l'adresse mail de l'expéditeur dans une cellule qui se trouve dans cette feuille

un autre bouton
- pour imprimer cette fameuse sélection

Etant une buse niveau royal en VBA :(, je vous joins un fichier avec juste une feuille.....

je vous remercie par avance ;)
 

Pièces jointes

  • test navette.xlsx
    20.9 KB · Affichages: 7

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Votre question ressemble plus à un cahier des charges, qu'à une demande de dépannage, objet de ce forum. Votre classeur n'est même pas un .xlsm.
Depuis le 12 septembre, vous n'avez visiblement pas même essayer de rechercher quelque chose pour l'adapter. Pas même une tentative de copie de feuille dans un nouveau classeur.
 

danielco

XLDnaute Accro
Bonjour @Roblochon,
Désolé, je n'avais pas vu ta réponse.

@gael56000 :
J'ai attaché les codes suivants aux deux boutons :
VB:
Sub Mail()
    Dim olApp As Object, M As Object, Chemin As String, Wbk As Workbook
    Chemin = Environ$("temp")
    Set olApp = CreateObject("Outlook.application")
    Set M = olApp.CreateItem(olMailItem)
    On Error Resume Next
    Kill Chemin & "\temp.xlsx"
    On Error GoTo 0
    Set Wbk = Workbooks.Add(1)
    ThisWorkbook.Sheets(1).[A1:K49].Copy
    Wbk.Sheets(1).Paste
    Wbk.SaveAs Chemin & "\temp"
    Wbk.Close
    With M
        .Subject = "Sujet"
        .Body = "texte"
        .Recipients.Add [E5]
        .attachments.Add Chemin & "\temp.xlsx"
        .Send
    End With
End Sub

Sub Impression()
  ActiveSheet.PrintOut
End Sub
 

Pièces jointes

  • gael56000 test navette.xlsm
    24.5 KB · Affichages: 5

gael56000

XLDnaute Nouveau
Bonjour,
Merci à vous "danielco", c'est juste parfait, j'ai changé le texte pour le corps du mail, juste un petit hic, lorsque je créé mes différents onglets (je copie la première feuille et change le nom) mais lorsque je clique, cela expédie le premier onglet mais la feuille active (celle sur laquelle je travaille).... je me permets de remettre le fichier.
 

Pièces jointes

  • gael56000 test navette.xlsm
    57.1 KB · Affichages: 3

danielco

XLDnaute Accro
J'ai modifié la macro :

VB:
Sub Mail()
    Dim olApp As Object, M As Object, Chemin As String, Wbk As Workbook
    Dim NomFeuille As String
    Chemin = Environ$("temp")
    Set olApp = CreateObject("Outlook.application")
    Set M = olApp.CreateItem(olMailItem)
    NomFeuille = ActiveSheet.Name
    On Error Resume Next
    Kill Chemin & "\temp.xlsx"
    On Error GoTo 0
    Set Wbk = Workbooks.Add(1)
    ThisWorkbook.Sheets(NomFeuille).[A1:K49].Copy
    Wbk.Sheets(1).Paste
    Wbk.SaveAs Chemin & "\temp"
    Wbk.Close
    With M
        .Subject = "Navette"
        .Body = "Bonjour, veuillez trouver ci joint la navette, à remplir et à nous renvoyer. Vous remerciant par avance."
        .Recipients.Add [E5]
        .attachments.Add Chemin & "\temp.xlsx"
        .Send
    End With
    
End Sub

Daniel
 

Pièces jointes

  • gael56000 test navette-1.xlsm
    57.3 KB · Affichages: 11

Discussions similaires

Réponses
1
Affichages
153
Compte Supprimé 979
C
Réponses
2
Affichages
300
Réponses
10
Affichages
570