![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
bonjour,
je vous explique mon problème : je viens d'importer une liste de plus de 1000 contacts dans outlook 2003 ainsi que plus de 3000 entrées journals, tous cela depuis une base de données access. Je souhait donc utiliser ma liste de contact outlook comme nouvel base de données avec un suivi des activités par contact. Mon problème est que je n'arrive pas a lier les entrées journal aux contacts avec l'importation. Il n'y a aucune possibilité avec outlook de définir à quel contact il faut associer l'élément lors de son importation. Je cherche une solution plus rapide que de prendre les contact un par un pour leur associer les éléments journal correspondant. Pour l'instant le seul lien qu'il existe entre les fiches contacts avec les fiches entrées journal, c'est qu'ils ont le même nom de société. Je me demandais donc s'il n'y avait pas possibilité, par l'intermédiaire d'un macro, d'associer les entrées journal aux contacts qui ont le même nom de société. Ou alors un macro qui permettrait remplir le champs "contacts" par la valeur du champs "société" a partir d'une liste d'entrées journal. Si quelqu'un a une idée, je suis preneur ! Merci d'avance de l'intérêt que vous porté a ma question. bonne journée a vous Dernière modification par reptedoz ; 02/05/2008 à 16h06 |
|
|
|
|
|
#2 (permalink) |
|
Membre régulier
![]() |
Bonjour,
ce code fonctionne si tu as seulement - des fiches contacts dans ton dossier contact et pas de liste de distribution. - avec les dossiers par défaut de contact et de journal Code :
Sub lien() Set myNameSpace = Application.GetNamespace("MAPI") Set JournalFolder = myNameSpace.GetDefaultFolder(olFolderJournal) Set ContactFolder = myNameSpace.GetDefaultFolder(olFolderContact) Set JournalItems = JournalFolder.items Set ContactItems = ContactFolder.items JournalItems.SetColumns ("Companies") ContactItems.SetColumns ("Subject, CompanyName") For Each Jitm in JournalItems Filtre = "[CompanyName]<>'" & Jitm.Companies & "'" Set ritms = ContactItems.Restrict(Filtre) For Each Citm In ritms Jitm.Contact = Citm.subject Jitm.Save Next Next End Sub A bientôt, |
|
|
|
|
|
#3 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
bonjour,
merci beaucoup d'avoir pris le soin de répondre a ma question, cela veux dejà dir que ce n'est pas impossible... Je viens d'essayer mais il m'indique qu'une ou plusieurs valeurs de paramètre ne sont pas valides (erreur 440) . Je ne m'y connais pas beaucoup en prog macro, vois-tu d'où ces erreurs pourraient venir ? En tout cas merci encore de ton attention ! a biento |
|
|
|
|
|
#4 (permalink) |
|
Membre régulier
![]() |
Bonjour,
Code :
Sub lien() Set myNameSpace = Application.GetNamespace("MAPI") Set JournalFolder = myNameSpace.GetDefaultFolder(olFolderJournal) Set ContactFolder = myNameSpace.GetDefaultFolder(olFolderContact) Set JournalItems = JournalFolder.items Set ContactItems = ContactFolder.items For Each Jitm in JournalItems Filtre = "[CompanyName]<>'" & Jitm.Companies & "'" Set ritms = ContactItems.Restrict(Filtre) For Each Citm In ritms Jitm.Contact = Citm.subject Jitm.Save Next Next End Sub A bientôt, |
|
|
|
|
|
#5 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
bonjour Laurent,
Merci pour ta réponse rapide ! Je viens d'essayer ton nouveau code mais lorsqu'il arrive sur les lignes "Set JournalItems = JournalFolder.Items Set ContactItems = ContactFolder.Items" il fait un message d'erreur signalant des valeur non valide. Voila la seul info que je peux te donner. Merci pour ton aide ! a bientôt |
|
|
|
|
|
#7 (permalink) |
![]() |
Salut,
il n'y a un un s à olFolderContacts Code :
Set ContactFolder = myNameSpace.GetDefaultFolder(olFolderContacts) Dolphy
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
|
|
#8 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
merci pour ton aide, ca a passé l'erreur !
par contre maintenant lorsqu'il arrive sur For "Each Jitm In JournalItems" il me signale une erreur 424, Objet requis. Je ne sais pas quoi faire. Merci encore de votre aide a bientot |
|
|
|
|
|
#9 (permalink) |
![]() |
Salut,
place cette ligne avant le For Each et donne nous le résultat : Code :
MsgBox JournalItems.Count
Dolphy
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
|
|
#10 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
salut toi !
alors je viens d'essayer cela, j'ai le code suivant : Code :
Sub lien() Set myNameSpace = Application.GetNamespace("MAPI") Set JournalFolder = myNameSpace.GetDefaultFolder(olFolderJournal) Set ContactFolder = myNameSpace.GetDefaultFolder(olFolderContacts) Set JournalItems = JournalFolder.Items Set ContactItems = ContactsFolder.Items MsgBox JournalItems.Count For Each Jitm In JournalItems Filtre = "[CompanyName]<>'" & Jitm.Companies & "'" Set ritms = ContactItems.Restrict(Filtre) For Each Citm In ritms Jitm.Contact = Citm.Subject Jitm.Save Next Next End Sub Mai il me fait toujours la même erreur.... Merci encore a vous tous ! a biento Dernière modification par Dolphy35 ; 11/05/2008 à 19h12 Motif: Balises Code (#) |
|
|
|
|
|
#12 (permalink) |
![]() |
Salut,
ton erreur est toujours au même endroit ou elle s'est déplacée sur cette ligne ? Code :
MsgBox JournalItems.Count
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
|
|
#13 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
Salut,
Et bien lorsqu'il n'y avais pas ta ligne de code, il me faisait l'erreur lorsqu'il arrivait sur la ligne Code :
For Each Jitm In JournalItems voila ! Encore merci à vous ! |
|
|
|
|
|
#14 (permalink) |
![]() |
Salut,
il y avait un petit s en trop dans tes instances : Le code suivant fonctionne très bien chez moi Code :
Sub lien() Set myNameSpace = Application.GetNamespace("MAPI") Set JournalFolder = myNameSpace.GetDefaultFolder(olFolderJournal) Set ContactFolder = myNameSpace.GetDefaultFolder(olFolderContacts) Set JournalItems = JournalFolder.items Set ContactItems = ContactFolder.items MsgBox JournalItems.Count For Each Jitm In JournalItems Filtre = "[CompanyName]<>'" & Jitm.Companies & "'" Set ritms = ContactItems.Restrict(Filtre) For Each Citm In ritms Jitm.Contact = Citm.Subject Jitm.Save Next Next End Sub
__________________
Initiation au VBA d'Outlook Je ne réponds pas aux questions techniques par MP
|
|
|
|
|
|
#15 (permalink) |
|
Invité régulier
![]() Date d'inscription: mai 2008
Messages: 14
|
salut tout le monde !
merci Dolphy pour ton aide... ça a réglé mon problème, j'y suis presque ! maintenant il ne bloque plus que sur la dernière ligne "Jitm.Save" où il me fait l'erreur 438 (propriété ou methode non gérée par l'objet). Comment cela ce fait si ça marche chez toi mais pas chez moi ? Merci a tous |
|
|
|
![]() |
![]() |
||
macro pour associer une liste d'entrées journals aux contacts ayant la même société
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|