OVH Cloud OVH Cloud

Taches excel / outlook...suite... (ça faisait longtemps :-) )

1 réponse
Avatar
géjoun
Bonjour,

Aprés quelques soucis de connections (je ne peux plus utiliser le nntp pour
accéder au forum :-( ); j'ai trouvé un moyen "convenable" pour resuivre ce
groupe :-)

Et je reviens avec tout plein de nouvelles questions; dont voici la 1ère :

Il y a quelques temps de cela, à force de harcélement ici même (n'est-ce pas
JpPradier ;-) ), vous m'aviez écrit une macro (ci-dessous) qui permet de créer
des tâches dans outlook en récupérant certaines infos de cellules pour les renvoyer
dans les champs de la tâche.

Elle fonctionne trés bien, mais, étant en réseau avec plusieurs postes et plusieurs
utilisateurs qui utilisent tous outlook, je souhaiterais l'améliorer.

Cette macro me créé une tâche dans Outlook en sélectionnant une case à cocher
dans excel à laquelle elle est affectée; et je voudrais savoir s'il serait possible
de la modifier de façon à ce que, par une liste des différents utilisateurs
des différents postes, je puisse choisir à quels utilisateurs affecter la tâche;
un peu sur le même principe que le calendrier Outlook qui permet de programmer
un rendez-vous pour plusieurs postes à partir d'un seul.

Voici la macro :

Sub Creer_TacheOutlook()
' Dimensionner l'objet Outlook
Dim oOutlook As Outlook.Application
' Dimensionner la tâche
Dim oTache As TaskItem
If Range("n12") Then
' Initialiser l'objet Outlook
Set oOutlook = CreateObject("Outlook.Application")
' Créer la tâche
Set oTache = oOutlook.CreateItem(olTaskItem)
' Affecter les propriétés à la tâche
With oTache
.DueDate = Range("o3") ' Echéance
.Subject = "CDE - " & Range("j2") & " 0" & Range("k6") & " - " & Range("b10")
& " " & Range("h7") 'Objet
LeTexte = ""
For i = 16 To 67
If Range("c" & i) <> "" Then LeTexte = LeTexte & Range("c" & i) & "
" & Range("d" & i) & " -> " & Range("j" & i) & " €" & vbNewLine
Next
.Body = LeTexte & vbNewLine & Range("j68") & " " & Range("k68") & "
€" ' texte explicatif"
.ReminderSet = True
.Save ' Enregistrer la nouvelle tâche
End With
' vider les objets pour libérer la mémoire
Set oTache = Nothing
Set oOutlook = Nothing

End If
End Sub


Merci d'avance! ;-

--
--
géjoun
dam-mail2005@ifrance.com
/Enlever l`année pour m`écrire...
Message monitoré par axinews : http://www.axinews.com

1 réponse

Avatar
géjoun
Bon, les réponses se bousculent apparement... (c'est pas un reproche hein!
:-) )

Est-ce que ça vient que c'est trop compliqué à mettre en place avec du vba,
ou que c'est tout simplement pas faisable?

Merci!





Bonjour,

Aprés quelques soucis de connections (je ne peux plus utiliser le nntp pour
accéder au forum :-( ); j'ai trouvé un moyen "convenable" pour resuivre ce
groupe :-)

Et je reviens avec tout plein de nouvelles questions; dont voici la 1ère :

Il y a quelques temps de cela, à force de harcélement ici même (n'est-ce pas
JpPradier ;-) ), vous m'aviez écrit une macro (ci-dessous) qui permet de
créer

des tâches dans outlook en récupérant certaines infos de cellules pour les
renvoyer

dans les champs de la tâche.

Elle fonctionne trés bien, mais, étant en réseau avec plusieurs postes et plusieurs
utilisateurs qui utilisent tous outlook, je souhaiterais l'améliorer.

Cette macro me créé une tâche dans Outlook en sélectionnant une case à cocher
dans excel à laquelle elle est affectée; et je voudrais savoir s'il serait
possible

de la modifier de façon à ce que, par une liste des différents utilisateurs
des différents postes, je puisse choisir à quels utilisateurs affecter la tâche;
un peu sur le même principe que le calendrier Outlook qui permet de programmer
un rendez-vous pour plusieurs postes à partir d'un seul.

Voici la macro :

Sub Creer_TacheOutlook()
' Dimensionner l'objet Outlook
Dim oOutlook As Outlook.Application
' Dimensionner la tâche
Dim oTache As TaskItem
If Range("n12") Then
' Initialiser l'objet Outlook
Set oOutlook = CreateObject("Outlook.Application")
' Créer la tâche
Set oTache = oOutlook.CreateItem(olTaskItem)
' Affecter les propriétés à la tâche
With oTache
.DueDate = Range("o3") ' Echéance
.Subject = "CDE - " & Range("j2") & " 0" & Range("k6") & " - " & Range("b10")
& " " & Range("h7") 'Objet
LeTexte = ""
For i = 16 To 67
If Range("c" & i) <> "" Then LeTexte = LeTexte & Range("c" & i) & "
" & Range("d" & i) & " -> " & Range("j" & i) & " €" & vbNewLine
Next
.Body = LeTexte & vbNewLine & Range("j68") & " " & Range("k68") & "
€" ' texte explicatif"
.ReminderSet = True
.Save ' Enregistrer la nouvelle tâche
End With
' vider les objets pour libérer la mémoire
Set oTache = Nothing
Set oOutlook = Nothing

End If
End Sub


Merci d'avance! ;-)

--
géjoun

/Enlever l`année pour m`écrire.../
Message monitoré par axinews : http://www.axinews.com


--
géjoun

/Enlever l`année pour m`écrire...
Message monitoré par axinews : http://www.axinews.com