Création tâche outlook vers un destinataire depuis excel 2010
3 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 '------------------------------
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
'------------------------------
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
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)
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...
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
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
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