Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Liaison Exel-Outlook

  • Initiateur de la discussion Initiateur de la discussion ronanlc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

ronanlc

Guest
Bonjour à tous,

Peut etre que le sujet a déja été abordé par quelqu'un quelque part, mais je n'ai pas trouvé, alors je me suis permis d'ouvrir un nouveau sujet.

Voila, j'ai réalisé un bon de commande, et je voudrais automatiser au maximum son utilisation. C'est pour cela que je souhaiterais faire un menu déroulant de fournisseurs afin d'éviter aux gens qui remplissent le BC de retaper.

Or, la liste des prestataires en questions sont présent dans la liste des contact Outlook de l'entreprise (dossiers publics).

Y'a t'il un moyen d'effectuer une liaison directe entre les 2?

L'autre solution est de copier coller les coordonnées sur exel, mais en cas de nouveaux prestataires, ils ne seront pas présents dans la liste des fournisseurs.
 
Re : Liaison Exel-Outlook

Salut Ronanlc,

Une petite recherche sur google et voilà ce que tu pexu trouver 🙄

Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library".
Dans l'éditeur de macros:
Menu Outils
Références

Code:
Sub ExtraireContactsOutlook()
'Nécessite d'activer la référence "Microsoft Outlook xx.x Object Library"


Dim olApp As Outlook.Application
Dim dossierContacts As Outlook.MAPIFolder
Dim Contact As Outlook.ContactItem
Dim i As Integer, j As Integer

Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

'Verifie si le dossier des contacts contient des éléments
If dossierContacts.Items.Count = 0 Then Exit Sub

'Création d'un entête dans la 1ere ligne
j = 1
For i = 0 To dossierContacts.Items(1).ItemProperties.Count - 1
Cells(j, i + 1) = dossierContacts.Items(1).ItemProperties.Item(i).Name
Next i

On Error Resume Next

'Boucle sur les éléments pour récupérer les infos
For Each Contact In dossierContacts.Items
j = j + 1
For i = 0 To Contact.ItemProperties.Count - 1
Cells(j, i + 1) = Contact.ItemProperties.Item(i).Value
Next i
Next Contact

Columns.AutoFit
MsgBox "Opération terminée."
End Sub



Pour récupérer quelques informations spécifiques, utilise la procédure suivante.
(Exemple: extraire les numéros de téléphone)

Sub numeroTelephone_contactsOutlook()
Dim olApp As Outlook.Application
Dim Cible As Outlook.ContactItem
Dim dossierContacts As Outlook.MAPIFolder

Set olApp = New Outlook.Application
Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

For Each Cible In dossierContacts.Items
Debug.Print Cible.HomeTelephoneNumber & vbTab & Cible.LastNameAndFirstName
Next
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…