Bonjour Anto23,
la première chose c'est de récupérer l'evènement "ouverture classeur"
dans la fenêtre VBA, dblclick sur ThisWorkbook ou Classeur, une feuille de code s'ouvre, il suffit de choisir Workbook en haut à gauche et normalement, le Sub WorkBook_open apparait automatiquement.
Ensuite il suffit de remplir ce sub fonction des besoins.
pour l'envoi de mail via outlook, j'avais récupéré (je ne me rappelle plus où, probablement sur le site excel downloads 🙂) , un code qui fonctionne... en voici une copie
'********************************************************************************************
'
'   Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
'   Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
'
'********************************************************************************************
Private Sub Workbook_Open()
    Dim ObjOutlook As New outlook.Application
    Dim oBjMail
    Dim Nom_Fichier As String
     
        Set ObjOutlook = New outlook.Application
        Set oBjMail = ObjOutlook.CreateItem(olMailItem)
    '---------------------------------------------------------
        'Exemple pour envoyer un classeur en pièce jointe
        'Nom_Fichier = Application.GetOpenFilename("Fichier excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
        'If Nom_Fichier = "Faux" Then Exit Sub
    '---------------------------------------------------------
        'Ou bien entrer le path et nom du fichier autrement
        ''Nom_Fichier = "C:\Users\essai.txt"
        ''If Nom_Fichier = "" Then Exit Sub
    '---------------------------------------------------------
            Set ObjOutlook = New outlook.Application
            Set oBjMail = ObjOutlook.CreateItem(olMailItem)
            With oBjMail
                .Sender = "emetteur" ' l'emetteur
                .To = "destinataire" ' le destinataire
                .CC = "destinataire" 'en copie
                .Subject = "sujet"  ' l'objet du mail
                .Body = "corps" 'le corps du mail ..son contenu
                .Attachments.Add Nom_Fichier '"C:\Data\essai.txt" ' ou Nomfichier
                .Display  '   Ici on peut supprimer pour l'envoyer sans vérification
                .Save
                .Send
       
        ObjOutlook.Quit
        Set oBjMail = Nothing
        Set ObjOutlook = Nothing
End Sub
'***********************************************************************************************
A adapter, en fonction de tes besoins. A toi de jouer bon courage.
Cordialement
Christian