Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
relié un classeur excel à la base contacts de Outlook
Re : relié un classeur excel à la base contacts de Outlook
Bonjour,
Avec cette procédure :
- Sous outlook vas dans menu / fichier / exporter
- Dans la fenêtre sélectionne "exporter des données vers un fichier" et clique sur "suivant"
choisis "microsoft excel"
- sélectionne le dossier "contact" ou une autre si tes contacts sont dans un autre
- Clique sur "parcourir" pour sélectionner le répertoire et éventuellement le fichier (si tu dois en créer un nouveau, il te suffit de mettre un nouveau nom dans la rubrique "nom du fichier" en dessous)
- En cliquant sur "suivant" puis sur "champ personnalisé", tu vas pouvoir sélectionner dans une nouvelle fenêtre les champs que tu veux exporter
- Clique sur "terminer"
Re : relié un classeur excel à la base contacts de Outlook
Bonjour Dan,
Tout d'abord merci pour ta réponse. Je pense ne pas mettre très bien exprimé. Ce que je veux ce n'est pas d'exporter mon carnet d'adresse mais le lier à un classeur excel pour m'en servir comme base de donnée.
Je veux que si je rentre un nouveau contact dans Outlook, je puisse l'utilisé dans mon tableau sans devoir re-exporter mes contacts Outlook.
J'espère avoir été plus clair et te remercie encore une fois pour tes lumières
Re : relié un classeur excel à la base contacts de Outlook
bonjour à vous deux
Cet exemple Necessite d'Activer la reference Microsoft Outlook xx.x Object Library
Les 2 procédures evenementielles doivent etre placées au niveau de la feuille qui va recuperer les données.
La première partie permet de créer une liste de validation dans la cellule A1 à partir du champ "Société" contenu dans la liste des contacts Outlook.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Resultat As String
If Not Target.Address = "$A$1" Then Exit Sub
Set olApp = New Outlook.Application
Set dossierContacts = _
olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
For Each Cible In dossierContacts.Items
Resultat = Resultat & Cible.CompanyName & ";"
Next
Range("A1").Validation.Delete
Range("A1").Validation.Add xlValidateList, _
Formula1:=Left(Resultat, Len(Resultat) - 1)
Set Cible = Nothing
Set dossierContacts = Nothing
'olApp.Quit
Set olApp = Nothing
End Sub
La deuxieme partie:
Lorsque tu sélectionnes un élément (nom de société) dans la cellule A1, une recherche est effectuée dans la liste des contacts Outlook pour récupérer les champs "Nom complet", "Rue", "Code postal", "Ville"
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Recherche As String
If Not Target.Address = "$A$1" Then Exit Sub
On Error GoTo Fin
Application.EnableEvents = False
Recherche = Range("A1")
Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set Cible = dossierContacts.Items.Find("[CompanyName] = '" & Recherche & "'")
If Not Cible Is Nothing Then
Range("B1") = Cible.FullName
Range("C1") = Cible.BusinessAddressStreet
Range("D1") = Cible.BusinessAddressPostalCode
Range("E1") = Cible.BusinessAddressCity
End If
Fin:
Application.EnableEvents = True
Set Cible = Nothing
Set dossierContacts = Nothing
'olApp.Quit
Set olApp = Nothing
End Sub
Re : relié un classeur excel à la base contacts de Outlook
MichelXld à dit:
bonjour à vous deux
Cet exemple Necessite d'Activer la reference Microsoft Outlook xx.x Object Library
Les 2 procédures evenementielles doivent etre placées au niveau de la feuille qui va recuperer les données.
La première partie permet de créer une liste de validation dans la cellule A1 à partir de la liste du champ "Société" contenu dans la liste des contacts Outlook.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Resultat As String
If Not Target.Address = "$A$1" Then Exit Sub
Set olApp = New Outlook.Application
Set dossierContacts = _
olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
For Each Cible In dossierContacts.Items
Resultat = Resultat & Cible.CompanyName & ";"
Next
Range("A1").Validation.Delete
Range("A1").Validation.Add xlValidateList, _
Formula1:=Left(Resultat, Len(Resultat) - 1)
Set Cible = Nothing
Set dossierContacts = Nothing
'olApp.Quit
Set olApp = Nothing
End Sub
La deuxieme partie:
Lorsque tu sélectionnes un élément (nom de société) dans la cellule A1, une recherche est effectuée dans la liste des contacts Outlook pour récupérer les champs "Nom complet", "Rue", "Code postal", "Ville"
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder
Dim Recherche As String
If Not Target.Address = "$A$1" Then Exit Sub
On Error GoTo Fin
Application.EnableEvents = False
Recherche = Range("A1")
Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Set Cible = dossierContacts.Items.Find("[CompanyName] = '" & Recherche & "'")
If Not Cible Is Nothing Then
Range("B1") = Cible.FullName
Range("C1") = Cible.BusinessAddressStreet
Range("D1") = Cible.BusinessAddressPostalCode
Range("E1") = Cible.BusinessAddressCity
End If
Fin:
Application.EnableEvents = True
Set Cible = Nothing
Set dossierContacts = Nothing
'olApp.Quit
Set olApp = Nothing
End Sub
Merci pour cette info, je vais de ce pas essayer ce code.
Question subsidiaire : penses-tu que je puisse enregistrer ce code dans différents classeurs qui vont me servir de modèles pour de nouveaux documents type devis.
Je te remercie encore pour le temps que tu veux bien accorder à mon pb.
Re : relier un classeur excel à la base contacts de Outlook
Bonjour à toutes et tous,
Je relance ce fil n'ayant pas réussi à faire fonctionner la macro ci-dessus.
Je joins un petit fichier test.
A l'origine j'avais créé une feuille excel spécifique avec les contacts, mais si je pouvais utiliser directement les contacts d'Outlook ce serait mieux.
Merci par avance à celles et ceux qui voudront bien réfléchir sur ce sujet.
Re : relié un classeur excel à la base contacts de Outlook
Bonjour à toutes et tous
Je relance ce fil n'ayant pas eu de réponse positive à mes posts précédents.
Peut-être d'ailleurs n'y a-t-il pas de solution.
Si l'un, où l'une d'entre vous, pouvait se pencher sur ce problème, ça me ferait très plaisir.
Bon courage.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.