Tatiak

Excel, Vba, Vbs


22 juin 2015

Générer des vCard depuis Excel

Pour la démo du jour, voici une réponse à un besoin qui semble fréquent : la création de vCard depuis un fichier de données Excel.

Vous disposez d'un fichier Excel de contacts et vous souhaitez intégrer ces données dans votre logiciel de messagerie, cet utilitaire est fait pour vous!

En fait les fichiers vCard (extension .vcf) ne sont simplement que des fichiers textes avec des balises de titre pour chaque ligne d'info (nom, adresse, n° de téléphone, ...). Pour décoder la structure d'une vCard, il suffit d'en ouvrir une avec le bloc-note de windows (clic droit).

Pour créer une fiche vCard, il suffit donc simplement d'écrire les données de chaque ligne d'Excel vers un fichier texte ordinaire, en respectant les balises et en enregistrant chacun des fichiers avec une extension .vcf, ce que fait le code contenu dans ce fichier :

Export_vCard.xls

Export_vCard_en_bloc.xls

Demo_Import_vcard.xlsm

Export_vCard3.0.xls

Export_vCard3.0_UTF8.xls

 Pierre

 

* Edit du 30/05/2019 : En réponse à plusieurs demandes, ajout d'une version avec option d'export au format encodé en UTF-8

 

* Edit du 21/01/2019 : En réponse à Julien, ajout d'une version permettant l'export au format vCard 3.0 compatible avec Google Contact

 

* Edit du 24/09/2018 : En réponse à la demande, ajout démo de code pour importer des vcard vers Excel  (clic sur le bouton pour pointer sur un dossier contenant les vcard à importer)

 

PS. : Précisions : cet utilitaire fonctionne avec Excel sous Windows et contient des données fictives (professionnelles et personnelles).

Posté par tatiak à 10:22 - Excel-Howto - Commentaires [53] - Permalien [#]

Commentaires sur Générer des vCard depuis Excel

  • Hello
    Voila encore un super fichier !
    serait-ce possible de créer un seul fichier vcf pour toutes les fiches ?
    Bonne journée à toi
    Sébastien

    Posté par gadenseb, 10 octobre 2017 à 10:09 | | Répondre
    • Bah, il suffit de changer l'emplacement de la boucle => cf Export_vCard_en_bloc.xls

      Posté par tatiak, 10 octobre 2017 à 13:01 | | Répondre
  • salut
    j'ai la meme question que gadenseb. Que siginifie "changer l'emplacement de la boucle"?
    merci

    Posté par adgm1, 11 octobre 2017 à 17:11 | | Répondre
    • Le code modifié est à lire dans le fichier à télécharger : Export_vCard_en_bloc.xls
      qui génère 1 seul vcf contenant l'ensemble des contacts.

      Posté par tatiak, 11 octobre 2017 à 17:27 | | Répondre
  • pardon mais je comprends pas mieux. J'ai bien téléchargé le fichier export_vcard_en_bloc et quand je clique sur export vcard j'obtiens un fichier mais qui ne contient que le premier contact de la liste

    Posté par adgm1, 11 octobre 2017 à 17:32 | | Répondre
  • en fait une fois le vcard exporté (depuis le fichier excel Export_vCard_en_bloc.xls) il n'est de toute façon pas accepté par mon téléphone portable (un sony xperia), donc impossible d'enregistrer mes contacts telephoniques à partir d'une telle liste excel

    Posté par adgm1, 11 octobre 2017 à 18:09 | | Répondre
    • Bonjour, avez vous trouvé une solution? je suis dans le mm cas de figure.

      Posté par Oubii, 25 janvier 2018 à 22:04 | | Répondre
      • Les appli de téléphones portables ne savent pas lire les .vcf multiples

        Posté par tatiak, 26 janvier 2018 à 09:11 | | Répondre
  • Hello
    Merci ça marche parfaitement de mon côté
    Merci
    Bonne journée
    Sébastien

    Posté par gadenseb, 12 octobre 2017 à 11:06 | | Répondre
  • Bonjour, je suis sur mac, j'ai tout paramétré, je clique sur export, ca me met export ok mais je ne sais pas où trouover le fichier ensuite.. merci d'avance !!

    Posté par aude, 14 janvier 2018 à 11:06 | | Répondre
    • Il faut probablement adapter le code avec les spécificités Mac.
      Mais je ne sais pas faire, je n'ai pas de Mac.

      Posté par tatiak, 14 janvier 2018 à 12:39 | | Répondre
  • Bonjour, je souhaiterai ajouter des colonnes, "Anniversaire", "Enfants"... dans l'onglet Famille de la Vcard comment faire ?

    Posté par Alex, 12 février 2018 à 14:30 | | Répondre
  • Merci pour la réponse cependant je suis novice dans l'utilisation d'EXCEL et j'apprends petit à petit... avec vous un tuto explicatif pour faire ce genre de manip svp ?

    Posté par Alex, 13 février 2018 à 14:13 | | Répondre
  • Salut,
    je tiens tout d´abord a remercier le / les programmeur(s) pour ce travail PARFAIT ! Un truc de ouf !

    Ma demande: j´aimerai avoir cette Macro ( Bouton ) pour l´importation des .vcf dans la page Excel deja programmée plus haut ( Bref l´inverse)


    je voudrais tout simplement selectionner une ou plusieurs fichiers vcf dans mon pc et directement lire les donnees qui sont sur la vcard et ensuite les ecrire dans le Tableau Excel ( le prochain ID libre dans le Tableau)


    merci d´avance !!!

    Posté par feynomen, 23 septembre 2018 à 13:56 | | Répondre
    • Bonjour,
      Voir nouveau fichier démo d'import de vcard
      Pierre

      Posté par tatiak, 24 septembre 2018 à 07:56 | | Répondre
  • Bonjour,

    @Pierre, je te passe ma reference et je te retire mon Chapeau ! Je viens juste d´essayer ton fichier d´importation et je le trouve deja assez bien.

    permet moi de te Poser une Question: Si j´ai bien comprit ton Code VBA, les cartes que je desire importer doivent se trouver DANS le meme dossier que la feuille EXCEL, quel changement dois je effecteuer pour lancer une recherche fichier .vcf dans un Emplacement quelconque ?

    1000 fois merci !!!

    Posté par feynomen, 24 septembre 2018 à 09:56 | | Répondre
    • Pas de changement à faire, il suffit de pointer sur un dossier quelconque contenant des vcf.

      Posté par tatiak, 24 septembre 2018 à 10:02 | | Répondre
  • :-S
    Quand je clique sur le Bouton "Import" j ai juste acces au dossier dans lequel la page Excel est sauvegardé.
    Je ne peux pas "browser" dans mon Disque dur voire selectioner un autre dossier Avec d´autres fichiers .vcf .


    Merci

    Posté par feynomen, 24 septembre 2018 à 10:11 | | Répondre
  • Hourra ! Ca fonctionne sans erreur et tres precis !
    @Pierre, tu maitrise ton "art" … rien a dire !
    Merci
    Danke
    Harigato
    Obrigado
    thanks

    Posté par feynomen, 24 septembre 2018 à 11:14 | | Répondre
  • Salut alors du coup ça avance, j'ai regarder ton site alors nouveau problème

    "Export_vCard.xls"

    M'affiche "export OK" sauf que aucun fichier créé

    Export_vCard_en_bloc.xls
    M'affiche "export OK" sauf que le fichier créé est bien une vcard mais quand je veut inséré le fichier chez google il me dit c'est vide. ----> du coup as tu une solution miracle ? j'ai pres de 758 contact pro et tous copié a la main pffff des heures et des heures.

    Demo_Import_vcard.xlsm

    Posté par Julien76210, 20 janvier 2019 à 22:46 | | Répondre
    • Bonjour Julien,
      En effet Google Contact n'accepte plus maintenant que des vCard au format 3.0.
      J'ai donc fait les modif pour rendre le fichier vCard compatible avec ce format.
      Merci du signalement
      Pierre

      Posté par tatiak, 21 janvier 2019 à 11:02 | | Répondre
      • MERCI ! ! ! ! ! MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI !! ! ! ! ! ! ! ! !! ! ! ça marche ! ! ! ! ! ! piouf adieu le copier coller sur 378 contact !

        Posté par Julien76210, 21 janvier 2019 à 11:06 | | Répondre
  • Bonjour et merci pour le code, j'ai testé avec la version 3.0, j'ai un souci avec l'encodage des caractères : les é deviennent des points d'interrogation. Une idée pour modifier ? merci

    Posté par cathy, 27 mars 2019 à 09:42 | | Répondre
    • Bonjour
      Je ne constate pas cet effet sous PC 64bits W10 + Office 2016 32bits.
      Pierre

      Posté par tatiak, 28 mars 2019 à 17:43 | | Répondre
  • Moi c'est un Windows7 32bits + excel 2007

    Posté par cathy, 28 mars 2019 à 19:27 | | Répondre
  • Salut Tatiak,
    Un ENORME merci à toi Tatiak qui m’a donné la direction et des informations capitales – dont le modèle de macro - pour aboutir à la solution de mon problème initial : récupérer mes 800 contacts avec les caractères accentués et mes notes à partir de mon HTC HD2 sous WM6.5 vers un REDMI 4X sous Android.
    Je prépa un tuto qui pourra aider les malheureux dans mon cas...si il y en a encore !
    Et encore MERCI !

    Posté par sextant, 14 avril 2019 à 11:52 | | Répondre
  • Pour Cathy & Tatiak,
    Pour les caractères accentués j'ai résolu le problème par tâtonnement; voici ce que j'en comprends :
    Le fichier .vcf créé traite bien les caractères accentués, mais je comprends qu'il est créé au format ANSI. Or le format vcf doit être en UTF-8.
    Voici la solution validée dans mon cas :
    1 - A l'aide de Nodepad++ (éditeur gratuit) j'ouvre le fichier .vcf créé. Dans le menu par la rubrique "Encodage" on vérifiera que le format est bien ANSI (point devant l'option "Encoder en ANSI).
    2 - Sous Notepad++ ouvrir un nouveau fichier. Dans le menu par la rubrique "Encodage" on vérifiera que le format est bien UTF-8 (point devant l'option "Encoder en UTF-.
    3- Copier tout le texte du premier fichier et le coller dans le nouveau fichier vide puis enregistrer ce fichier.
    Il ne reste plus qu'à transférer ce fichier sur le smartphone et à importer les contacts; normalement les caractères accentués sont correctement affichés

    Cathy, tenez nous au courant si ça a fonctionné.
    Tatiak, je n'ai pas creusé le sujet mais n'est-il pas possible de forcer le format du .vcf créé à partir d'Excel pour qu'il soit en UTF-8 ?

    Bon dimanche à tous.

    Posté par sextant, 14 avril 2019 à 12:05 | | Répondre
  • Complément à mon précédent mail :
    Sous Notepad++ en version anglaise "Encodage" devient "Encoding" et "Encoder en ANSI" devient "Encode in ANSI".

    Posté par sextant, 14 avril 2019 à 12:10 | | Répondre
  • Bonjour, merci pour l'info. J'essaierai une prochaine fois. Car depuis j'ai dû faire les modifs pour chaque vcf manuellement.

    Posté par cathy, 14 avril 2019 à 19:44 | | Répondre
  • Bonjour,
    L'export du fichier excel vers Vcards fonctionne très bien.
    Mac OS 10.12 et excel 2011 v14.
    A l'inverse, le fichier import vcard vers excel ne fonctionne
    Message erreur : Type non défini par l'utilisateur.
    Pouvez-m'aider svp ?

    Posté par EB, 15 mai 2019 à 19:59 | | Répondre
  • Bonjour TaTiak
    impressionne par ton travail et un grand MERCI pour cete aide majeur que tu nous apporte.
    Cependant je recontre un petit soucis dans ton code
    Next i
    On Error Resume Next
    Open ThisWorkbook.Path & "\Sauvegarde_vCard.vcf" For Output As #1
    Print #1, Contenu
    Close #1
    MsgBox "Export ok"
    End Sub

    je n'arrive pas a trouver ou tu sauvegarde les vCard creer par ta macro

    Merci de m'aider sur ce point

    cordialement

    xavier

    Posté par Le Breuil, 17 juin 2019 à 19:35 | | Répondre
    • Bonjour,
      Le fichier "Sauvegarde_vCard.vcf" est enregistré dans le même dossier que celui du fichier Excel (sous Windows. Non compatible Mac ni Linux)
      Pierre

      Posté par tatiak, 18 juin 2019 à 07:49 | | Répondre
  • Bonjour, merci beaucoup pour votre travail.

    Posté par loeti, 03 juillet 2019 à 15:39 | | Répondre
    • Cool, merci pour le retour!
      Pierre

      Posté par tatiak, 04 juillet 2019 à 10:43 | | Répondre
  • Super, ça marche très bien, merci

    Posté par Juste, 29 juillet 2019 à 14:32 | | Répondre
    • Cool, merci pour le retour!
      Pierre

      Posté par tatiak, 29 juillet 2019 à 16:27 | | Répondre
  • Merciiiii à vous, 2 années après c'est toujours efficace, donc BRAVO )

    Posté par eiffel67, 06 octobre 2019 à 22:04 | | Répondre
    • Parfait! Et merci pour le commentaire!
      Pierre

      Posté par tatiak, 07 octobre 2019 à 09:31 | | Répondre
  • Bonjour !
    J'aimerais transformer mes contacts importés de mon Huawei (contacts pro via Exchange et mes contacts perso) en excel, pour ensuite les transformer en csv et pouvoir les intégrer à mon annuaire de téléphone fixe...
    Si je passe outre le fait que l'outil de Bouygues pour intégrer des contacts en masse ne reconnaît pas les csv que je crée (je ne sais pas si c'est dû à eux ou à moi), je tente donc d'utiliser votre outil qui semble super bien fait.

    Problème : il ne détecte pas dans le dossier les fichiers importés de mon téléphone qui sont pourtant des .vcf (d'après ce qui m'est annoncé), qui s'affichent sous Windows comme des fichiers vCalendar ou vCard (suivant le logiciel que Windows leur attribue pour les ouvrir).
    Une idée ?

    Posté par Gawel, 22 octobre 2019 à 14:30 | | Répondre
    • Bonjour,
      Pour un téléphone Android synchronisé avec un compte Gmail, il suffit de passer par Google Contact (via un ordi) et d'exporter ou importer les contacts au format CSV ou vCard
      Pierre

      Posté par tatiak, 22 octobre 2019 à 14:46 | | Répondre
  • merci beaucoup ça fonctionne sur mon mac. une fois export termine (version 3.0) je cherche avec finder le fichier sur mon ordi, puis j'installe sur mon mac puis partage via airdrop sur mon tel )))

    Posté par patrick, 23 novembre 2019 à 15:25 | | Répondre
  • Bonjour,

    Comment obtenir un fichier "utilisable" lors d'un EXPORT des contacts Gmail?

    L'export ne peux se faire qu'en CSV complètement inutilisable sous Excel.

    Posté par GuillaumeP, 27 janvier 2020 à 11:24 | | Répondre
    • Bonjour,
      Le csv exporté par Gmail est délimité avec des virgules.
      Il suffit d'ouvrir ce csv avec le bloc-note et de remplacer la virgule par un point-virgule (via Ctrl+H). Après enregistrement ce csv est parfaitement lu par Excel.

      Posté par tatiak, 27 janvier 2020 à 12:33 | | Répondre
  • Bonjour,
    un grand merci pour ce que tu fait.
    je souhaite savoir si il existe un fichier import vcard pour le dernier Outlook du pack office 365

    Posté par guillaume, 28 janvier 2020 à 20:43 | | Répondre
    • Aucune idée. Je ne sais pas.

      Posté par tatiak, 29 janvier 2020 à 11:37 | | Répondre
  • merci pour ce fichier

    Posté par Tetonne, 12 mars 2020 à 17:50 | | Répondre
  • Bonjour,
    il est possible d'avoir le fichier "export en bloc vcf" version 4.0 ?
    J'utilise Framagenda pour la gestion de mes contacts, il sont à ce standard.

    Merci

    Posté par Fredox, 25 mars 2020 à 23:59 | | Répondre
Nouveau commentaire