Alors je suis allé sur http://users.skynet.be/accesshome/outlook.htm. J'ai
modifié le chemin pour l'exportation. Ca fonctionne bien. J'ai voulu mettre
en service les lignes vi-dessous, mais je n'arrive pas à le faire
fonctionner. Quand j'active lle code, il s'arrête à Dim appExcel As
Excel.Application Je ne sais pas ce qui le dérange là. As-tu une idée?
Donc je suis encore loin de l'importation de valeurs dans mes champs depuis
Access ou Excel.Deuxième version de code, qui exporte TOUS les champs d'un formulaire Contact personnalisé (à associer peut-être à un
userform de sélection des champs à importer !).
Petit défaut corrigé également, le fait que le classeur soit masqué !
Sub ExportVersExcelBis()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As ContactItem
Dim i As Integer, j As Integer
Dim LaIP As ItemProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
Set monContactperso = monDoss.Items(1)
For Each LaIP In monContactperso.ItemProperties ' pour les entêtes de colonnes
ws.Cells(1, j + 1).Value = monContactperso.ItemProperties(j).Name
j = j + 1
Next
i = 1
For Each monContactperso In monDoss.Items
j = 0
For Each LaIP In monContactperso.ItemProperties
ws.Cells(i + 1, j + 1).Value = monContactperso.ItemProperties(j)
j = j + 1
Next
i = i + 1
Next
appExcel.Windows(wb.Name).Visible = True
appExcel.Visible = True
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
' wb.Close
' appExcel.Quit
' Set appExcel = Nothing
End Sub
'Fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:OT3%23iKl%Voici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et
sauvegardeNom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:u29BF$j%Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" a écrit dans le message de
news:Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
PatrickBonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick a écrit dans le message de
news:Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous
Alors je suis allé sur http://users.skynet.be/accesshome/outlook.htm. J'ai
modifié le chemin pour l'exportation. Ca fonctionne bien. J'ai voulu mettre
en service les lignes vi-dessous, mais je n'arrive pas à le faire
fonctionner. Quand j'active lle code, il s'arrête à Dim appExcel As
Excel.Application Je ne sais pas ce qui le dérange là. As-tu une idée?
Donc je suis encore loin de l'importation de valeurs dans mes champs depuis
Access ou Excel.
Deuxième version de code, qui exporte TOUS les champs d'un formulaire Contact personnalisé (à associer peut-être à un
userform de sélection des champs à importer !).
Petit défaut corrigé également, le fait que le classeur soit masqué !
Sub ExportVersExcelBis()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As ContactItem
Dim i As Integer, j As Integer
Dim LaIP As ItemProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
Set monContactperso = monDoss.Items(1)
For Each LaIP In monContactperso.ItemProperties ' pour les entêtes de colonnes
ws.Cells(1, j + 1).Value = monContactperso.ItemProperties(j).Name
j = j + 1
Next
i = 1
For Each monContactperso In monDoss.Items
j = 0
For Each LaIP In monContactperso.ItemProperties
ws.Cells(i + 1, j + 1).Value = monContactperso.ItemProperties(j)
j = j + 1
Next
i = i + 1
Next
appExcel.Windows(wb.Name).Visible = True
appExcel.Visible = True
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
' wb.Close
' appExcel.Quit
' Set appExcel = Nothing
End Sub
'Fin Export
A+
Isa
"Isabelle Prawitz" <iprawitz@wanadoo.fr> a écrit dans le message de news:OT3%23iKl%23EHA.2984@TK2MSFTNGP09.phx.gbl...
Voici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et
sauvegarde
Nom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" <iprawitz@wanadoo.fr> a écrit dans le message de news:u29BF$j%23EHA.2192@TK2MSFTNGP14.phx.gbl...
Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant
"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" <PatrickSchoellhammer@discussions.microsoft.com> a écrit dans le message de
news:C06DF3D6-D51E-4373-AC49-CBFFF730E635@microsoft.com...
Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
Patrick
Bonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick Schoellhammer@discussions.microsoft.com> a écrit dans le message de
news:162456BE-364D-4421-8C7D-D21C9471F2C2@microsoft.com...
Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous
Alors je suis allé sur http://users.skynet.be/accesshome/outlook.htm. J'ai
modifié le chemin pour l'exportation. Ca fonctionne bien. J'ai voulu mettre
en service les lignes vi-dessous, mais je n'arrive pas à le faire
fonctionner. Quand j'active lle code, il s'arrête à Dim appExcel As
Excel.Application Je ne sais pas ce qui le dérange là. As-tu une idée?
Donc je suis encore loin de l'importation de valeurs dans mes champs depuis
Access ou Excel.Deuxième version de code, qui exporte TOUS les champs d'un formulaire Contact personnalisé (à associer peut-être à un
userform de sélection des champs à importer !).
Petit défaut corrigé également, le fait que le classeur soit masqué !
Sub ExportVersExcelBis()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As ContactItem
Dim i As Integer, j As Integer
Dim LaIP As ItemProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
Set monContactperso = monDoss.Items(1)
For Each LaIP In monContactperso.ItemProperties ' pour les entêtes de colonnes
ws.Cells(1, j + 1).Value = monContactperso.ItemProperties(j).Name
j = j + 1
Next
i = 1
For Each monContactperso In monDoss.Items
j = 0
For Each LaIP In monContactperso.ItemProperties
ws.Cells(i + 1, j + 1).Value = monContactperso.ItemProperties(j)
j = j + 1
Next
i = i + 1
Next
appExcel.Windows(wb.Name).Visible = True
appExcel.Visible = True
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
' wb.Close
' appExcel.Quit
' Set appExcel = Nothing
End Sub
'Fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:OT3%23iKl%Voici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et
sauvegardeNom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:u29BF$j%Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" a écrit dans le message de
news:Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
PatrickBonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick a écrit dans le message de
news:Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous
Bonjour Isabelle,
Merci pour tes messages, je me remets au travail. Je vais explorer et
décortiquer ces lignes de codes pour bien les comprendres moi-même. Bonne
journée.
PatrickVoici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et sauvegarde
Nom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:u29BF$j%Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" a écrit dans le message de
news:Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
PatrickBonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick a écrit dans le message de
news:Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous
Bonjour Isabelle,
Merci pour tes messages, je me remets au travail. Je vais explorer et
décortiquer ces lignes de codes pour bien les comprendres moi-même. Bonne
journée.
Patrick
Voici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et sauvegarde
Nom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" <iprawitz@wanadoo.fr> a écrit dans le message de news:u29BF$j%23EHA.2192@TK2MSFTNGP14.phx.gbl...
Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant
"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" <PatrickSchoellhammer@discussions.microsoft.com> a écrit dans le message de
news:C06DF3D6-D51E-4373-AC49-CBFFF730E635@microsoft.com...
Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
Patrick
Bonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick Schoellhammer@discussions.microsoft.com> a écrit dans le message de
news:162456BE-364D-4421-8C7D-D21C9471F2C2@microsoft.com...
Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous
Bonjour Isabelle,
Merci pour tes messages, je me remets au travail. Je vais explorer et
décortiquer ces lignes de codes pour bien les comprendres moi-même. Bonne
journée.
PatrickVoici une première amorce de code, qui parcourt tous les éléments d'un dossier public de Contacts personnalisés et sauvegarde
Nom, Prénom et Téléphone bureau, ainsi que tous les champs personnalisés.
A toi de l'adapter s'il te convient !
Sub ExportVersExcel()
Dim appExcel As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim monDoss As MAPIFolder
Dim mesDossPub As MAPIFolder
Dim monContactperso As Object
Dim i As Integer, j As Integer
Dim LaUP As UserProperty
'pour accéder à Tous les dossiers publics
Set mesDossPub = Session.GetDefaultFolder(olPublicFoldersAllPublicFolders)
'si MonDossPubContacts est un sous-dossier de Tous les dossiers publics :
Set monDoss = mesDossPub.Folders("MonDossPubContacts")
'sinon Set monDoss = mesDossPub.Folders("DossierParent").Folders("MonDossPucContacts")
On Error Resume Next
Set wb = GetObject("c:monDossierDeClasseursmonClasseur.xls") 'si le classeur existe déjà
If Err.Number <> 0 Then
Set appExcel = CreateObject("Excel.Application")
Set wb = appExcel.Workbooks.Add
Err.Clear
Else
Set appExcel = wb.Application
End If
Set ws = wb.Worksheets("Feuil1")
i = 0 ' si une ligne pour entête colonnes, mettre i=1
For Each monContactperso In monDoss.Items
ws.Cells(i + 1, 1).Value = monContactperso.LastName
ws.Cells(i + 1, 2).Value = monContactperso.FirstName
ws.Cells(i + 1, 3).Value = monContactperso.BusinessTelephoneNumber
j = 1
For Each LaUP In monContactperso.UserProperties
ws.Cells(i + 1, 3 + j).Value = monContactperso.UserProperties(j)
' MsgBox monContactperso.UserProperties(j).Name
j = j + 1
Next
i = i + 1
Next
wb.SaveAs "c:monDossierDeClasseursmonClasseur.xls"
wb.Close
appExcel.Quit
Set appExcel = Nothing
End Sub
' fin Export
A+
Isa
"Isabelle Prawitz" a écrit dans le message de news:u29BF$j%Regarde dans le forum, il y a quelques macros qui te permettront de te donner une idée de la chose !
Sinon, voici un lien vers un site qui propose quelques exemples (merci JièL pour le lien !)
http://users.skynet.be/accesshome/outlook.htm
Regarde aussi dans l'aide en environnement VBA Outlook (accès par Outils/Macro/Visual Basic Editor, ou Alt+F11) en
cherchant"Modèle objet Outlook", ça te permettra de visualiser le modèle objet en question!
N'hésite pas à demander si tu bloques sur une écriture !
A+
Isa
"Patrick Schoellhammer" a écrit dans le message de
news:Bonjour Isabelle,
J'ai commencé d'explorer cette voie, faute d'avoir trouvé une solution clé
en main.
Les contacts personnalisés sont....dans un dossier public! Je vais devoir
écrire ces lignes de codes, sans vraiment savoir par quel bout commencer et
je ne me sens pas très à l'aise avec cela!
A+
PatrickBonjour !
Malheureusement, ça ne peut se faire qu'en code VBA.
Tes Contacts personnalisés sont-ils uniquement dans ta Boîte aux lettres, ou dans un dossier public ?
A+
Isa
"Patrick Schoellhammer" <Patrick a écrit dans le message de
news:Bonjour à tous,
Pour le besoin de l'entreprise dans laquelle je travaille, j'ai personnalisé
le formulaire de saisie des contatcs dans Outlook 2003 en ajoutant des champs
supplémentaires et personnalisés. Ma question est donc: comment exporter dans
excel ou access ces champs supplémentaires? A l'inverse comment dire à
Outlook que les données que je veux importer vont dans les champs que j'ai
ajouté?
D'avance je vous remercie pour votre aide, vos idées.
Bonne journée à tous