Excel - VBA - Email Outlook/Mac
Fermé
Misterbean1
Messages postés
53
Date d'inscription
vendredi 13 mai 2011
Statut
Membre
Dernière intervention
22 août 2017
-
31 déc. 2014 à 13:26
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 6 janv. 2015 à 17:26
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 6 janv. 2015 à 17:26
A voir également:
- Vba outlook mac
- Adresse mac - Guide
- Nettoyer mac - Guide
- Nouveau outlook - Accueil - Mail
- @ Sur mac - Guide
- Temperature mac - Guide
5 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
31 déc. 2014 à 14:00
31 déc. 2014 à 14:00
Merci F894009 mais je crains que mes compétences limitées en VBA perturbent ma compréhension.... Dois-je créer de nouveaux codes adapter au MAC ou bien dois-je adapter/ajouter dans mes codes d'envoi via Outlook (et pour lesquels vous m'avez super bien aidé ;) ).
Pour être le plus concret possible, voici ci-dessous le code que j'utilise pour que l'utilisateur, en cliquant sur un bouton, envoi un Email + annexe et contenu dans le corps de l'Email sous Outlook. J'aimerais donc, qu'en cliquant sur le même bouton, un utilisateur MAC crée le même Email....
d'avance merci pour une aide à ce sujet!!
Le code en question (qui fonctionne nickel, tel quel, chez moi) pour Outlook :
Sub Mail_Selection_Range_Ventes()
Dim Rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
'Dim OutApp As Outlook.Application
'Dim OutMail As Outlook.MailItem
Set Rng = Nothing
On Error Resume Next
Set Rng = Sheets("Sheet1").Range("A1:B22")
On Error GoTo 0
If Rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected. " & _
vbNewLine & "Please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.EnableEvents = False
'.ScreenUpdating = False
End With
Set Sourcewb = ActiveWorkbook
Set Destwb = Workbooks.Add
'copy avec format
Sourcewb.Sheets("Sheet1").Range("A1:B20").Copy Destwb.ActiveSheet.Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count)
Destwb.ActiveSheet.Cells.EntireColumn.AutoFit
Rng.Columns.Count) = Application.Transpose(Application.Transpose(Rng))
'Save the new workbook/Mail
TempFilePath = Environ$("temp") & "\"
TempFileName = "Document_" & ActiveSheet.Range("B4") & "__" & ActiveSheet.Range("B7") & "__" & Format(Now, "dd-mmm-yy")
FileExtStr = ".xlsx": FileFormatNum = 51
With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
.Close SaveChanges:=False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Worksheets("Sheet1").Range("E1").Value
.CC = Worksheets("Sheet1").Range("E2").Value & ";" & Worksheets("Sheet1").Range("E3").Value
.BCC = ""
.Subject = "Document" & "__" & Worksheets("Sheet1").Range("B4") & "__" & Worksheets("Sheet1").Range("B7")
.HTMLBody = RangetoHTML(Rng)
'piece-jointe doit etre obligatoirement enregistree sur disque
.Attachments.Add TempFilePath & TempFileName & FileExtStr
.Display
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Pour être le plus concret possible, voici ci-dessous le code que j'utilise pour que l'utilisateur, en cliquant sur un bouton, envoi un Email + annexe et contenu dans le corps de l'Email sous Outlook. J'aimerais donc, qu'en cliquant sur le même bouton, un utilisateur MAC crée le même Email....
d'avance merci pour une aide à ce sujet!!
Le code en question (qui fonctionne nickel, tel quel, chez moi) pour Outlook :
Sub Mail_Selection_Range_Ventes()
Dim Rng As Range
Dim OutApp As Object
Dim OutMail As Object
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
'Dim OutApp As Outlook.Application
'Dim OutMail As Outlook.MailItem
Set Rng = Nothing
On Error Resume Next
Set Rng = Sheets("Sheet1").Range("A1:B22")
On Error GoTo 0
If Rng Is Nothing Then
MsgBox "The selection is not a range or the sheet is protected. " & _
vbNewLine & "Please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.EnableEvents = False
'.ScreenUpdating = False
End With
Set Sourcewb = ActiveWorkbook
Set Destwb = Workbooks.Add
'copy avec format
Sourcewb.Sheets("Sheet1").Range("A1:B20").Copy Destwb.ActiveSheet.Range("A1").Resize(Rng.Rows.Count, Rng.Columns.Count)
Destwb.ActiveSheet.Cells.EntireColumn.AutoFit
Rng.Columns.Count) = Application.Transpose(Application.Transpose(Rng))
'Save the new workbook/Mail
TempFilePath = Environ$("temp") & "\"
TempFileName = "Document_" & ActiveSheet.Range("B4") & "__" & ActiveSheet.Range("B7") & "__" & Format(Now, "dd-mmm-yy")
FileExtStr = ".xlsx": FileFormatNum = 51
With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
.Close SaveChanges:=False
End With
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Worksheets("Sheet1").Range("E1").Value
.CC = Worksheets("Sheet1").Range("E2").Value & ";" & Worksheets("Sheet1").Range("E3").Value
.BCC = ""
.Subject = "Document" & "__" & Worksheets("Sheet1").Range("B4") & "__" & Worksheets("Sheet1").Range("B7")
.HTMLBody = RangetoHTML(Rng)
'piece-jointe doit etre obligatoirement enregistree sur disque
.Attachments.Add TempFilePath & TempFileName & FileExtStr
.Display
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
5 janv. 2015 à 09:53
5 janv. 2015 à 09:53
Bonjour,
En y regardant de plus pret, le lien que je vous ai mis ne convient pas vraiment. Votre code ne peut pas etre utilise sur un MAC sans modifications. Je regarde si j'ai Outlook sur un MAC et je regarde les modif a apporter
A+
En y regardant de plus pret, le lien que je vous ai mis ne convient pas vraiment. Votre code ne peut pas etre utilise sur un MAC sans modifications. Je regarde si j'ai Outlook sur un MAC et je regarde les modif a apporter
A+
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
5 janv. 2015 à 10:53
5 janv. 2015 à 10:53
Re,
Vous pouvez cogiter la dessus:
https://www.rondebruin.nl/mac/macmail/macoutlook4.htm
Vous pouvez cogiter la dessus:
https://www.rondebruin.nl/mac/macmail/macoutlook4.htm
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
6 janv. 2015 à 17:26
6 janv. 2015 à 17:26
Bonjour,
https://www.cjoint.com/c/EAgrGlzmjXJ
il faudra adapter les noms de feuille car il semblerait que vous utilisez une version anglaise d'excel !!!!!!!
pour lancer c'est le sub test_os
https://www.cjoint.com/c/EAgrGlzmjXJ
il faudra adapter les noms de feuille car il semblerait que vous utilisez une version anglaise d'excel !!!!!!!
pour lancer c'est le sub test_os