Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2007, 14h25   #1
Invité de passage
 
Inscription : avril 2007
Messages : 8
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 8
Points : 1
Points : 1
Par défaut exportation du fichier vcf vers outlook

Bonjour,

J'ai un fichier vCard (.vcf) sur une carte SD d'un mobile. J'essaye d'importer les contacts vers Outlook 2003, mais cela ne me prend que le 1er contact et c'est tout...

Comment faire pour les importer tous (une carte de visite par contact) ?

Merci
bcbgtn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 16h56   #2
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 742
Points : 8 742
Salut,
Citation:
Envoyé par bcbgtn Voir le message
Bonjour,

J'ai un fichier vCard (.vcf) sur une carte SD d'un mobile. J'essaye d'importer les contacts vers Outlook 2003, mais cela ne me prend que le 1er contact et c'est tout...

Comment faire pour les importer tous (une carte de visite par contact) ?

Merci
je comprend pas très bien !
un fichier vCard correspond à 1 contact, vCard => carte de visite. Si tu veux importer tous tes contacts il te faut le faire vCard par vCard.

Dolphy
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2007, 19h26   #3
Rédacteur/Modérateur
 
Avatar de Dolphy35
 
Homme Morgan BILLY
Technicien de Production
Inscription : octobre 2004
Messages : 4 106
Détails du profil
Informations personnelles :
Nom : Homme Morgan BILLY
Âge : 33
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Technicien de Production
Secteur : Industrie

Informations forums :
Inscription : octobre 2004
Messages : 4 106
Points : 8 742
Points : 8 742
re,

ci-joint une macro permettant de lister les fichiers vcf d'un dossier et de les ajouter dans le dossier par défaut Contacts.

Attention : ce code ne fonctionne qu'avec Outlook 2007 car utilisation de 'OpenSharedItem' et 'Display' disponible seulement avec la version 2007.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub Save_vCard()
'Déclarations des variables
    Dim fsoObject As Scripting.FileSystemObject
    Dim fldDossier As Scripting.Folder
    Dim fleFichier As Scripting.File
    Dim MavCard As ContactItem
    Dim MonDossier As Folder
    Dim MonApp As New Outlook.Application
    Dim MonNamespace As Outlook.NameSpace
 
'charge le répertoire dans la variable
    strRepertoire = "C:\temp"
 
    'instancie les FSO
    Set fsoObject = CreateObject("Scripting.FileSystemObject")
    Set fldDossier = fsoObject.GetFolder(strRepertoire)
    'Instancie l'espace "MAPI" - Session
    Set MonNamespace = MonApp.GetNamespace("MAPI")
 
    'Test si fichier *.vcf dans le dossier et ajout de clui-ci
    If (fldDossier.Files.Count > 0) Then
        For Each fleFichier In fldDossier.Files
            If (InStr(1, fleFichier.Name, ".vcf", 1) > 0) Then
                Set MavCard = MonNamespace.OpenSharedItem(strRepertoire & "\" & fleFichier.Name)
                MavCard.Save
            End If
        Next
    End If
 
    'Récupère le dossier Contacts par défaut
    Set MonDossier = MonNamespace.GetDefaultFolder(olFolderContact)
    'Affichage d'outlook dans le dossier
    MonDossier.Display
 
    'Vide les instances
    Set fsoObject = Nothing
    Set fldDossier = Nothing
    Set MonNamespace = Nothing
    Set MavCard = Nothing
    Set MonDossier = Nothing
 
End Sub
__________________
Personnaliser la vue Backstage d'Access 2010
Découvrez avec nous Office 2010
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2007, 14h14   #4
Membre chevronné
 
Avatar de Oliv-
 
Inscription : mars 2006
Messages : 643
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2006
Messages : 643
Points : 699
Points : 699
Salut
Pour les versions antérieurs à 2007 essayer dans la boucle "For Each fleFichier" avec
"C:\PROGRA~1\MICROS~2\OFFICE11\OUTLOOK.EXE" /v "%1"
où %1 est le fichier

doevents
Code :
Set MavCard = MonApp.ActiveInspector.CurrentItem
Oliv- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2008, 22h06   #5
Invité de passage
 
Inscription : janvier 2008
Messages : 1
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 1
Points : 1
Points : 1
Par défaut Macro Outlook 2007 pour import fichiers VCF multiples issus de Palm Desktop

Si comme moi vous avez besoin d'importer en masse les contacts issus de votre Palm Desktop lors d'une migration vers Outlook 2007, voici une petite macro à adapter qui s'inspire des travaux ci-dessus...

Cà évite d'acheter certains outils sharewares à 20$ comme vcard4outlook, vcardWizard,... pour quelquechose d'excessivement simple...

Have fun !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
Sub ImportMultipleVcf()
    Dim toggle As Boolean
    Dim card As ContactItem
    Dim app As New Outlook.Application
    Dim namespace As Outlook.namespace
    Dim temporary_filename As String
 
 
    toggle = False
    temporary_filename = "c:\temp\tmp.vcf"
    Set namespace = app.GetNamespace("MAPI")
 
    ' Changer ici le nom du fichier vcf multiple issu de Palm Desktop
    Open "c:\temp\all.vcf" For Input As #1
    Do While Not EOF(1)
        Line Input #1, inputdata
        If inputdata = "BEGIN:VCARD" Then
            toggle = True
            Open temporary_filename For Output As #2
        End If
        If toggle Then Print #2, inputdata
        If inputdata = "END:VCARD" Then
            Close #2
            toggle = False
            Set card = namespace.OpenSharedItem(temporary_filename)
            card.Save
        End If
    Loop
    Close #1
 
End Sub
hibou78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h32.


 
 
 
 
Partenaires

Hébergement Web