VBA création Mail outlook depuis Excel BUG selon PC

Bonjour

Sur le fichier excel joint, aucun souci pour la création extra simple d'un mail depuis excel

Chez 2 collègues à qui on a changé de PC récemment mais avec même version d'office apparemment (2013), le mail se crée mais SANS "destinataire" ni "CC".

Dim OL As Object, M As Object

Set olApp = CreateObject("Outlook.application")

On Error Resume Next
Set oOutlook = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then 'Si Outlook est fermé
    MsgBox "Attention, Outlook n'est pas ouvert, le programme ne va pas fonctionner ... "
Else
    Set M = olApp.CreateItem(olMailItem)
    With M
        .Subject = "Test création mail"
        .Body = "Blablabla"
        .To = Sheets(1).Cells(2, 1)
        .CC = Sheets(1).Cells(2, 2)
        .Display
    End With
    Set M = Nothing

End If

Un mystère complet ...

Bonjour,

Si "Destinataire" et "CC" ne fonctionne pas > ce n'est pas un mystère ...

        .To = Sheets(1).Cells(2, 1)
        .CC = Sheets(1).Cells(2, 2)

Sheets(1) > est-ce le même nom de feuille sur toutes les machines ?
Car, tu utilises sa position ...

Teste en donnant le nom de la feuille > Exemple : Sheets("MesMails").cells(2, 1) ...

ric

Non non, ça ne change rien

Dim OL As Object, M As Object

Set olApp = CreateObject("Outlook.application")

On Error Resume Next
Set oOutlook = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then 'Si Outlook est fermé
    MsgBox "Attention, Outlook n'est pas ouvert, le programme ne va pas fonctionner ... "
Else
    Set M = olApp.CreateItem(olMailItem)
    With M
        .Subject = "Test création mail"
        .Body = "Blablabla"
        .To = Sheets("Param").Cells(2, 1)
        .CC = Sheets("Param").Cells(2, 2)
        .Display
    End With
    Set M = Nothing

End If

Par contre en écrivant en dur, ça fonctionne. C'est ce que je ne comprend pas ...

            (...)

        .To = "etla@gmail.com"
        .CC = "etlabis@gmail.com"

            (...)

Bonjour,

Et quelle est le comportement si l'on écrit ainsi :

        .To = Sheets("Param").Cells(2, 1).Value
        .CC = Sheets("Param").Cells(2, 2).Value

ric

Ça fonctionne !

Ça ne m'explique pas pourquoi ce doc en réseau fonctionnait sur plusieurs PC et pas sur d'autres (installations récentes) mais au moins je devrai pouvoir régler le problème.

Merci beaucoup et bonne journée

Bonjour,

.To = Sheets("Param").Cells(2, 1)

Quelle propriété est-ce que l'on veut lire de cette cellule ?

Si l'on ne le mentionne pas, Excel utilisera la valeur de la propriété de la configuration par défaut de cette machine ...

ric

Rechercher des sujets similaires à "vba creation mail outlook bug"