Macro envoye fichier excel via outlook

  • Initiateur de la discussion Initiateur de la discussion bloomby
  • 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 !

bloomby

XLDnaute Occasionnel
Bonjour à tous,

j'ai une petite macro qui fonctionne parfaitement

il ne me reste plus qua créer un code pour envoyer le fichier comme pièce jointe:

Alors voici le code:

HTML:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then

Dim ol As Object
Dim olmail As Object
Dim CurrFile As Object
Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)

With olmail
.To = Range("B1").Value
.Subject = Target.Value
.Body = "Objet: " & Target.Offset(0, -1).Value & "et " & Target.Offset(1, -1).Value
' .Attachments.Add "c:\data\essai.doc"
.Send
End With
End If
End Sub

Normalement je pourrais inscrire .Attachments.Add "c:\data\essai.xls"

Par contre, je dois dans un premier temps créer une macro qui enregistre le fichier excel sur le bureau ou dans un document sur le bureau ou ce fichier est situé.

COntrainte: c'est un fichier que j'envoie à quelqu'un pour qu'il m'envoie des informations actualisé.
c'est donc dire que je ne sais pas ou est situé le fichier sur son ordinateur

merci de votre aide
 
Re : Macro envoye fichier excel via outlook

N'etant pas precis
voici du code que tu peux adapté, regarde egalement les lignes de commentaire

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then

    Application.DisplayAlerts = False
    Dim ol As Object
    Dim olmail As Object
    Dim CurrFile As Object
    Dim objWSHShell As Object
    Dim strSpecialFolderPath
    Set ol = CreateObject("Outlook.Application")
    Set olmail = ol.CreateItem(0)
    Set objWSHShell = CreateObject("WScript.Shell")
    
    'SpecialFolderPath = objWSHShell.SpecialFolders("Desktop")
    Set objWSHShell = Nothing
    nomfich = ActiveWorkbook.FullName
    
    ''sauve garde le fichier sur le desktop
    'nomcomplet = SpecialFolderPath & "\" & nomfich & ".xls"
   
   ' ActiveWorkbook.SaveAs (nomfich)

    With olmail
        .To = Range("B1").Value
        .Subject = Target.Value
        .Body = "Objet: " & Target.Offset(0, -1).Value & "et " & Target.Offset(1, -1).Value
        .Attachments.Add nomfich
        .Send
    End With
End If
Application.DisplayAlerts = True
End Sub
 
Dernière édition:
- 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

Réponses
4
Affichages
743
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
1 K
Réponses
4
Affichages
764
Retour