Importer des tâches Outlook via Excel

Bonsoir,

pour commencer je souhaiterait savoir s'il est possible d'importer des taches dans Outlook sous base d'un tableau croisé dynamique excel ou un tableau?

J'utilise l'agenda Outlook pour planifier les interventions de mon technicien.

Les demandes d'interventions ce font via un gestionnaire en ligne et son exportable sous forme csv

Je souhaite importée les demande sous forme de "tâche" dans Outlook et les classé par catégorie de leur statut: (les mettre sous catégorie en fonction du statut:

Statut Créé: -> "SAV à PLANIFIER"

Statut En attente du client -> "SAV EN ATTENTE DU CLIENT"

Statut Confirmé: -> "SAV EN ATTENTE DE MARCHANDISE"

Les autres catégories ne m’intéressent pas (pour le moment)

L'export CSV me donne beaucoup d'info que je n'ai pas besoin, voici ce dont j'ai besoin et ce a quoi cela correspond dans la liste des tâche d'Outlook :

Colonne B il y a le statut qui doit correspondre au catégorie dans Outlook.

Colonne E il y a la Priorité qui doit correspondre a Priorité dans Outlook

Colonne F il y a le sujet qui doit correspondre a Objet de la tâche dans Outlook

Colonne P il y a Créé qui doit correspondre a Créé le dans Outlook

Colonne W il y a Secteur qui doit correspondre a Secteur dans Outlook

Colonne Y il y a Ville du chantier qui doit correspondre a Ville dans Outlook

Colonne AX il y a Description qui correspond a Note dans Outlook

Merci de me dire si ça parait réalisable dans un premier temps et si quelqu'un est prêt à me filer un coup de pouce sur le code VBA je ferai parvenir un fichier exemple a la demande.

Bav et merci d'avance

Bonsoir,

C'est tout à fait réalisable, voici en partie le code

Sub ImportTaches()
  Dim myolApp As Outlook.Application
  Dim myNamespace As Outlook.Namespace
  Dim myTasks As Outlook.MAPIFolder
  Dim myFolder As Outlook.MAPIFolder
  Dim Item As TaskItem
  Dim NLig As Long
  Dim LimitePassee, LimiteFuture

  ' Définir les variables objet
  Set myolApp = CreateObject("Outlook.Application")
  Set myNamespace = myolApp.GetNamespace("MAPI")
  Set myTasks = myNamespace.Folders(1).Folders(9)

  ' constantes
  LimitePassee = Date - 365  ' un  an en arrière
  LimiteFuture = Date + 3 * 365  ' 3 ans en avant

  For Each Item In myTasks.Items
    If (Item.StartDate > LimitePassee) And (Item.StartDate < LimiteFuture) _
       And (Not Item.Complete) Then
      NLig = Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row
      ' Inscrire les éléments
      Range("B" & NLig).Value = Item.categories
      Range("E" & NLig).Value = Item.Importance
      Range("F" & NLig).Value = Item.Subject
      Range("P" & NLig).Value = Item.CreationTime
      Range("Y" & NLig).Value = "Item"  'point Quelquechose
      Range("AX" & NLig).Value = "Item"  'point Quelquechose
    End If
  Next Item   'MsgBox (compte)
End Sub

Certains éléments restent à trouver

A+

merci de ton aide mais je ne souhaite pas importer des taches d'outlook vers excel mais le contraire , j'essaye avec

    Sub AjoutTache()
      Dim myolApp As Outlook.Application
      Dim myNamespace As Outlook.Namespace
      Dim myTasks As Outlook.MAPIFolder
      Dim myFolder As Outlook.MAPIFolder
      Dim Item As TaskItem
      Dim NLig As Long
      Dim LimitePassee, LimiteFuture

      ' Définir les variables objet
     Set myolApp = CreateObject("Outlook.Application")
      Set myNamespace = myolApp.GetNamespace("MAPI")
      Set myTasks = myNamespace.Folders(1).Folders(9)

      ' constantes
     LimitePassee = Date - 365  ' un  an en arrière
     LimiteFuture = Date + 3 * 365  ' 3 ans en avant

      For Each Item In myTasks.Items
        If (Item.StartDate > LimitePassee) And (Item.StartDate < LimiteFuture) _
           And (Not Item.Complete) Then
          NLig = Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row
          ' Inscrire les éléments
          Range("D1:E" & Range("D250").Value = Item.Categories
          Range("E1:E" & Range("E250").Value = Item.Importance
          Range("B1:B" & Range("B250").Value = Item.Subject
          Range("C1:C" & Range("C250").Value = Item.CreationTime

       End If
      Next Item   'MsgBox (compte)
    End Sub

Mais ca marche pas :'(

    Sub AjoutTache()
      Dim myolApp As Outlook.Application
      Dim myNamespace As Outlook.Namespace
      Dim myTasks As Outlook.MAPIFolder
      Dim myFolder As Outlook.MAPIFolder
      Dim Item As TaskItem
      Dim dl&
dl = Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To dl
MsgBox "objet= " & Cells(i, "B")
MsgBox "stardate= " & Cells(i, "C")
MsgBox "stNote= " & Cells(i, "H")
Next i
End Sub

Ce code me créé bien les boucles mais il me les vérifie juste en text box, il manque la partie qui les envoies vers les taches outlook, si quelqu'un pourrais m'aider.

Merci

Je crois que je dois pas etre loin:

Sub AjoutTacheII()
Dim myolApp As New Outlook.Application
Dim myItem As Outlook.TaskItem
Dim objName As Outlook.Namespace
Dim objFolder
Set objName = myolApp.GetNamespace("MAPI")
Set objFolder = objName.GetDefaultFolder(olFolderTasks) '13
Dim dl&
dl = Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To dl
Set myItem = myolApp.CreateItem(olTaskItem) '3
myItem.Subject = Cells(i, "B")
myItem.DueDate = Cells(i, "C")
myItem.Assign
Set myItem = Nothing
Next i
Set myolApp = Nothing
End Sub

Mais rien ne ce passe dans Outlook...

Quelqu'un a une idée ?

Bonjour,

désolé, je n'avais pas compris le sens puisque tu parle d'importer des tâches

Alors que tu le fait d'Excel et c'est donc EXPORTER dans Outlook

Pour ce qui est de ton dernier code, tu ne crées pas l'instance d'Outlook

d.deneys a écrit :

Je crois que je dois pas etre loin:

Sub AjoutTacheII()
Dim myolApp As New Outlook.Application
Dim myItem As Outlook.TaskItem
Dim objName As Outlook.Namespace
Dim objFolder
Set objName = myolApp.GetNamespace("MAPI")
Set objFolder = objName.GetDefaultFolder(olFolderTasks) '13
Dim dl&
dl = Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To dl
Set myItem = myolApp.CreateItem(olTaskItem) '3
myItem.Subject = Cells(i, "B")
myItem.DueDate = Cells(i, "C")
myItem.Assign
Set myItem = Nothing
Next i
Set myolApp = Nothing
End Sub

Mais rien ne ce passe dans Outlook...

Quelqu'un a une idée ?

Essaye avec

Set myolApp = New Outlook.Application

au début de ton code après les DIM

A+

Rechercher des sujets similaires à "importer taches outlook via"