Création tâche outlook vers un destinataire depuis excel 2010

Le
martine.leport
Bonjour,
Je voudrais envoyer une tâche outlook en vba depuis excel mais les tâch=
es arrivent dans mon outlook et pas dans celui de la personne concernée.
J'ai essayé de mettre le nom, l'adresse mail mais cela ne fonctionne pas.

J'ai écrit ce code pour envoyer une tâche lorsque l'on saisit une date =
dans un fichier excel :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 17 Then
client = Target.Offset(, -16)
produit = Target.Offset(, -15)
PFO = Target.Offset(, -14)
ITM = Target.Offset(, -13)
PDQ = Target.Offset(, -11)
dat = Target + 3
TACHETEST
End If
End Sub

Sub TACHETEST()
'Appeler l'application Outlook et générer une tâche
Dim myOlApp As Object 'Outlook.Application
Dim myItem As Object 'Outlook.TaskItem
Dim olTaskItem As Object
Dim olTaskInProgress, olImportanceHigh As Object
Dim I As Integer
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(3)
' Fomalisation de la tâche avec tous les paramétres
With myItem
.Status = olTaskInProgress
.Importance = 1
.DueDate = dat 'Date relance
.Body = "L'envoi au client " & client & " a-t-il été fait ? " & p=
roduit & Chr(10) & "PFO : " & PFO & Chr(10) & "ITM : " & ITM & Chr(10) & "P=
DQ : " & PDQ 'Corps de la Relance
.TotalWork = 40
.ActualWork = 20
.Subject = "Envoi " & client 'Sujet de la tâche
.Assign
' le nom doit exister dans le dossier d'adresses
.Recipients.Add ("toto") ?? que dois-je mettre pour diriger vers quelq=
u'un d'autre que moi ????
.Save
'.Send
End With
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26393188
Bonjour,

Un exemple émanant de ce site :
https://msdn.microsoft.com/en-us/library/office/ff865077.aspx

'---------------------------------------------
Sub AssignTask()
Dim myItem As Outlook.TaskItem
Dim myDelegate As Outlook.Recipient

Set myItem = Application.CreateItem(olTaskItem)

myItem.Assign
Set myDelegate = myItem.Recipients.Add("Dan Wilson")
myDelegate.Resolve
If myDelegate.Resolved Then
myItem.Subject = "Prepare Agenda for Meeting"
myItem.DueDate = Now + 30
myItem.Display
myItem.Send
End If
End Sub
'---------------------------------------------

Pour ton application, tu pourrais penser à passer en paramètres les
variables "Clients", "Produit", "PFQ", "ITM","PDQ","Dat"de la procédure
Private Sub Worksheet_Change(ByVal Target As Range)

Pour ce faire :
'------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Client as Client, Produit As String, PFQ as string
Dim ITM as String, PDQ as String, DAT as Date

If Target.Column = 17 Then
client = Target.Offset(, -16)
produit = Target.Offset(, -15)
PFO = Target.Offset(, -14)
ITM = Target.Offset(, -13)
PDQ = Target.Offset(, -11)
dat = Target + 3
Call AssignTask(Client, Produit, PFQ, ITM, PDQ, DAt)
End If
End Sub
'------------------------------


Écrit de cette manière, la procédure l'ajout de la référence
Microsoft Outlook xx objects library. Il ne te reste plus d'ajouter
les propriétés que tu as définies pour l'objet MyItem...en utilisant
les paramètres de la déclaration de la procédure.
Dans l'exemple, "Dan Wilson" doit faire partie de la collection
Recipients dans Outlook.

'------------------------------
Sub AssignTask(Client as string, Produit as String,PFQ as string _
ITM as string,PDQ as String, Dat as Date)

Dim myItem As Outlook.TaskItem
Dim myDelegate As Outlook.Recipient

Set myItem = Application.CreateItem(olTaskItem)

myItem.Assign
Set myDelegate = myItem.Recipients.Add("Dan Wilson")
myDelegate.Resolve
If myDelegate.Resolved Then
myItem.Subject = "Prepare Agenda for Meeting"
myItem.DueDate = Now + 30
myItem.Display
myItem.Send
End If
End Sub
'------------------------------
MichD
Le #26393187
Dans cette procédure "Sub AssignTask", tu peux remplacer "Dan Wilson"
par la variable "Client" comme ceci, en supposant que tu veux attacher
la tâche à ce "client" particulier...

Set myDelegate = myItem.Recipients.Add(Client)
Geo
Le #26393208
Bonsoir

Pour des courriels voici un exemple que j'utilise :
item2.Recipients.Add "adresse électronique"

Si on utilise le nom qu'il y a dans le dossier contact, comme l'exemple
de Denis, il faut utiliser ensuite Resolve pour traduire le nom en
adresse.

je ne dis pas que c'est pareil pour les taches, je ne l'ai pas fait,
mais on peut essayer
Publicité
Poster une réponse
Anonyme