Bonsoir
Votre code est certainement placé dans la feuille.
Vous devez au préalable :
1. Supprimer ce code qui est placé dans une feuille je pense
2. Refaire votre bouton via Inserer -> controle de formulaire car actuellement vous avez probablement créé un bouton via Inserer -> activeX. Les activeX sont propres à Windows et ne fonctionne pas sur MAC. Vous pouvez aussi créer un bouton via insertion -> Formes
3. Mettre le code ci-dessous dans un module
4. Comme précisé au début du code ci dessous, allez dans l'éditeur VBA.
5. Faire Menu / outils / Reference / Cocher "Microsoft Outlook Library"
6. Click droite sur le bouton puis choisissez "Affecter à une macro"
Le code:
Sub SendMail_Outlook()
'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 ligne As Byte
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olMailItem)
For ligne = 31 To 36
If Range("d" & ligne) <> "" Then
With olmail
.To = Range("E" & ligne) 'placer l'adresse mail de la ligne
.CC = Range("J9") & Range("J8") & Range("J10")
.Subject = "CONSULTATION - " & Range("B14") & Range("b" & ligne) 'le sujet + le nom
.Body = "Consultation à destination de la société " & Range("d" & ligne) & " " & Range("B77")
'.Attachments.Add ThisWorkbook.Path & "\" & ThisWorkbook.Name
.Display 'afficher le mail avant de l'envoyer sinon placer send pour envoyer
End With
End If
Next ligne
End Sub
Je n'ai pas testé mais cela devrait fonctionner sous windows ou sous MAC
Un peu de lecture si vous voulez --> https://forum.excel-pratique.com/viewtopic.php?f=2&t=16935
Oubliez pas de cloturer le fil si ok (click sur le petit v en haut à droite...)
Cordialement