Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

3 réponses
Avatar
martine.leport
Bonjour,
Je voudrais envoyer une t=E2che outlook en vba depuis excel mais les t=E2ch=
es arrivent dans mon outlook et pas dans celui de la personne concern=E9e.
J'ai essay=E9 de mettre le nom, l'adresse mail mais cela ne fonctionne pas.

J'ai =E9crit ce code pour envoyer une t=E2che lorsque l'on saisit une date =
dans un fichier excel :

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

Sub TACHETEST()
'Appeler l'application Outlook et g=E9n=E9rer une t=E2che
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 =3D CreateObject("Outlook.Application")
Set myItem =3D myOlApp.CreateItem(3)
' Fomalisation de la t=E2che avec tous les param=E9tres
With myItem
.Status =3D olTaskInProgress
.Importance =3D 1
.DueDate =3D dat 'Date relance
.Body =3D "L'envoi au client " & client & " a-t-il =E9t=E9 fait ? " & p=
roduit & Chr(10) & "PFO : " & PFO & Chr(10) & "ITM : " & ITM & Chr(10) & "P=
DQ : " & PDQ 'Corps de la Relance
.TotalWork =3D 40
.ActualWork =3D 20
.Subject =3D "Envoi " & client 'Sujet de la t=E2che
.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 ????=20
.Save
'.Send
End With
End Sub=20

3 réponses

Avatar
MichD
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
'------------------------------
Avatar
MichD
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)
Avatar
Geo
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