Import tache Outlook depuis Excel

d.deneys

XLDnaute Junior
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
 

Staple1600

XLDnaute Barbatruc
Re : Import tache Outlook depuis Excel

Re

EDITION: Cette fois-ci, c'est moi qui n'avait pas rafraichi et donc pas lu ton dernier message.

Je viens de tester sur mon notebook (qui lui a Outlook)
une macro pour créer un seule tâche
Test OK (comme le montre la copie d'écran ci-dessous)
outlook.png
Code vba:
Sub a() 'macro OK sur XL 2003
With CreateObject("Outlook.Application").CreateItem(3)
.Subject = Cells(4, "B")
.StartDate = Cells(4, "C")
.DueDate = Cells(4, "C") + 1
.Body = Cells(4, "H")
.Save
End With
End Sub
 

Pièces jointes

  • outlook.png
    outlook.png
    31.6 KB · Affichages: 277
  • outlook.png
    outlook.png
    31.6 KB · Affichages: 254
Dernière édition:

d.deneys

XLDnaute Junior
Re : Import tache Outlook depuis Excel

Je recherche quels sont les autres codes tel que :
.DueDate
.Subject
.Body

de tel sorte a trouver ceux qui correspondent au colonnes suivantes dans les taches d'outlook:
Créé le
Priorité personnalisé
Adresse Postale
Ville

Je cherche également comment faire pour vérifier si la tache existe déjà dans outlook et si c'est le cas, ne pas la recréé.
Afin de pouvoir clôturer le sujet
 

Staple1600

XLDnaute Barbatruc
Re : Import tache Outlook depuis Excel

Re

VBA se programme en anglais, non?
Et j'ai beau regarder dans les tâches Outlook, je ne vois pas de champ Adresse et Ville.

Pour savoir si une tâche est déjà crée, je ferai cela en amont dans le fichier Excel.
C'est a dire que dans une colonne, je me mettrai un X une fois la tache créée dans Outlook, lors de la première exécution de la macro.
Ensuite si tu ajoutes des taches dans le fichier Excel, la macro vérifie s'il y a un X dans la colonne
Si oui pas d'ajout de tache
Si non on ajoute la tache
 
Dernière édition:

d.deneys

XLDnaute Junior
Re : Import tache Outlook depuis Excel

lol oui mais je n'ai que quelques petites bases, tu dois cliqué droit dans la liste des taches et c'est dans paramètre d'affichage et colonnes. La tu peux choisir les champs qui t’intéressent.

Moi c'est surtout au niveau de la priorité car je n ai pas les mêmes que dans outlook de base c'est Faible normale ou autre et moi c'est Immédiat, Normal, Urgent et Haut

Pour régler mon problème de ville ce qui pourrais ce faire c'est d'ajouter dans myItem.Body au début la valeur de la Cells(i, "F") & Cells(i, "G")

Mais comment assembler le tout pour faire : myItem.Body = Cells(i, "H";"F";"G") 'Note

:D
 
Dernière édition:

d.deneys

XLDnaute Junior
Re : Import tache Outlook depuis Excel

regarde la 2.png

Tu avais vu mon msg précédent?

Pour régler mon problème de ville ce qui pourrais ce faire c'est d'ajouter dans myItem.Body au début la valeur de la Cells(i, "F") & Cells(i, "G")

Mais comment assembler le tout pour faire : myItem.Body = Cells(i, "H";"F";"G") 'Note
 

Pièces jointes

  • 2.png
    2.png
    46.7 KB · Affichages: 137
  • 2.png
    2.png
    46.7 KB · Affichages: 131

Staple1600

XLDnaute Barbatruc
Re : Import tache Outlook depuis Excel

Re


Comme je le disais plus bas, je teste sur mon notebook avec Outlook 2003
Or je viens de voir que tu utilises Office 2013.
Cela explique que je n'ai pas les mêmes champs que toi.
Donc difficile de t'aider plus avant, car je ne pourrai tester aucun code (sauf ceux qui fonctionnent sur Outlook 2003)
 

Staple1600

XLDnaute Barbatruc
Re : Import tache Outlook depuis Excel

RE

En cherchant un peu sur le web anglophone
J'ai trouvé ceci (que j'ai adapté à ma copie d'écran du message#16)
TestOK sur Outlook 2003
La macro ne récrée pas les taches déjà existantes dans Outlook.

Je te laisse tester et t'encourage également à faire des recherches sur le vaste web.
Il n'y a pas de raison que tu ne trouves pas toi-même ce que j'ai trouvé en " g..glant" dans mon browsr. ;)
Code vba:
Sub ExportToOutlook()

Dim OL As Outlook.Application
Dim olAppt As TaskItem
Dim NS As Outlook.Namespace
Dim colItems As Outlook.Items
Dim olApptSearch As TaskItem
Dim r As Long, sSubject As String, sBody As String
Dim dStartDate As Date, dDueDate As Date
Dim sSearch As String, bOLOpen As Boolean

On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
bOLOpen = True
If OL Is Nothing Then
Set OL = CreateObject("Outlook.Application")
bOLOpen = False
End If
Set NS = OL.GetNamespace("MAPI")
Set colItems = NS.GetDefaultFolder(olFolderTasks).Items
For r = 4 To 8 'ici adaptes selon la configuration de ton fichier
sSubject = Cells(r, "B").Value
dStartDate = Cells(r, "C").Value
sBody = Cells(r, "H").Value
sSearch = "[Subject] = " & sQuote(sSubject)
Set olApptSearch = colItems.Find(sSearch)
If olApptSearch Is Nothing Then
Set olAppt = OL.CreateItem(olTaskItem)
olAppt.Subject = sSubject
olAppt.StartDate = dStartDate
olAppt.Body = sBody
olAppt.Close olSave
End If
Next r
If bOLOpen = False Then OL.Quit
End Sub

Function sQuote(sTextToQuote)
sQuote = Chr(34) & sTextToQuote & Chr(34)
End Function
 
Dernière édition:

d.deneys

XLDnaute Junior
Re : Import tache Outlook depuis Excel

Merci à toi, c'est normal que ça me créé une tâche au 30/12/1899 sans nom juste avec cette date ?
Et aussi que il y a plus catégorie avec myItem.Categories = Cells(i, "D") 'catégorie :'(

Je suis dsl mais vu que la tout le code a changer j'arrive pas a le remettre
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Import tache Outlook depuis Excel

Re


Relis bien mon message.
J'ai bien précisé que j'avais adapté la macro selon un modèle de classeur précis.
J'ai trouvé ceci (que j'ai adapté à ma copie d'écran du message#16)

Donc si tu as testé la macro sur un fichier qui ne respecte pas cette structure alors c'est normal que cela ne fonctionne pas.

Comme je l'ai dit précédemment: TestOk sur mon notebook (avec Outlook 2003)
 

d.deneys

XLDnaute Junior
Re : Import tache Outlook depuis Excel

Pas de soucis, c'est déjà énorme, je cherche juste a remettre l'objet et c'est ok
et j'essaye de trouver pour pouvoir mettre plusieurs cells dans body mais je trouve pas.

Je voudrais juste retrouver la catégorie, çà fonctionnais avec myItem.Categories = Cells(i, "D"), mais la y a plus aucun code qui commence par myItem

Et pour le fait de mettre EFGH dans body au lieu juste de "H", ça reste avec cells ou avec Range ?, il faut utiliser un séparateur de liste comme & ?

Tout le reste fonctionne, il ne manque plus que ca :'(
Merci à toi
 

Discussions similaires

Réponses
2
Affichages
294

Statistiques des forums

Discussions
312 447
Messages
2 088 494
Membres
103 871
dernier inscrit
julienleburton