Une adresse vCard a sept morceaux, une colonne de CSV en a un
Publié le 08/09/2026 · 5 min de lecture · Outils fichiers
Daniel Okonkwo — Développeur front-end et rédacteur Tech chez OneKitly
Performance web · Formats de fichiers
Vérifié à partir de 3 sources
La vCard range un nom en cinq composantes (famille, prénom, autres, préfixe, suffixe), une adresse en sept (boîte postale, complément, rue, ville, région, code postal, pays) et une société en une entité et ses services, chacune séparée par un point-virgule non échappé. L'export CSV écrit une colonne par notion : l'adresse devient donc 12 rue de la Paix, bâtiment C, Paris, 75002, France — les mêmes mots, joints par des virgules, frontières disparues. Lire ce tableur va bien, le trier aussi. C'est en refabriquant une vCard que la perte se voit : toute l'adresse atterrit dans la composante rue, et un contact importé dans un téléphone a une rue nommée 12 rue de la Paix, bâtiment C, Paris, 75002, France avec une ville vide et un code postal vide. Deux services fondus en une seule société et un numéro de mobile qui ne dit plus qu'il est mobile suivent le même chemin. Fusionne, consulte et modifie dans le .vcf quand la structure compte ; sors le CSV quand tu veux une liste à lire, trier ou compter.
Noms, adresses et sociétés sont des champs structurés dans une vCard. Aplatis-les dans un tableur : ils se lisent à l'identique tout en perdant leurs coutures — ce qui compte dès qu'on refabrique une vCard depuis ce tableur.
Le point-virgule qui n'en est pas un
Dans une vCard, la structure est portée par des points-virgules nus et le contenu échappe les siens. Une société nommée Sarl Dupont, Martin et fils s'écrit Sarl Dupont\, Martin et fils, antislash compris, précisément pour qu'un lecteur distingue cette virgule d'un séparateur. Il en va de même des points-virgules dans une valeur et des retours à la ligne dans une note. Découpe une ligne de vCard sur un point-virgule ou une virgule ordinaires et tu coupes des noms en deux — d'où un analyseur qui parcourt la ligne et respecte les antislashs au lieu d'appeler split.
Le repli de ligne est le second piège, et il est invisible dans un éditeur. Une propriété longue est coupée à 75 octets et continuée à la ligne suivante par une espace initiale : une note de 149 caractères peut donc tenir sur trois lignes et se lire comme trois champs cassés pour qui découpe sur les retours à la ligne. Correctement dépliée, elle revient entière, échappement intact — c'est ce que montre le visualiseur et ce que le CSV emporte ensuite.
Quel sens prendre, et quand
Prends le CSV quand la réponse cherchée est une liste : qui travaille dans quelle société, combien de contacts n'ont pas d'e-mail, quels numéros commencent encore par un vieil indicatif. Un tableur est la bonne forme pour ces questions, une vCard une mauvaise. Prends l'export JSON quand un autre programme doit le lire — il garde les listes de téléphones et d'e-mails comme des listes plutôt que de les fondre dans une cellule, ce qui fait la différence entre un script qui marche et un script qui devine où couper.
| Dans le .vcf d'origine | Ce qui ressort | Se lit pareil ? |
|---|---|---|
| ADR:;;12 rue de la Paix, bâtiment C;Paris;;75002;France | Tout dans la composante rue, ville et code postal vides | Oui |
| ORG:Sarl Dupont, Martin et fils;Service commercial | Une seule société, le service raccroché par un tiret | Oui |
| TEL;TYPE=CELL et TEL;TYPE=WORK,VOICE | Deux lignes TEL, aucune ne disant laquelle est laquelle | Numéros oui, étiquettes non |
| N:Dupont;Jean-Pierre;Marie;M.; | N:Dupont;Jean-Pierre;;; — deuxième prénom et civilité perdus | En grande partie |
| NOTE et EMAIL, à virgules échappées | Identiques, échappement et les deux adresses intacts | Oui |
Questions fréquentes
- Mes contacts importés n'ont ni ville ni code postal. Pourquoi ?
- Parce qu'ils sont passés par un tableur. Une colonne d'adresse devient une composante d'adresse, et la composante qu'utilise une vCard reconstruite est la rue — les champs ville, région, code postal et pays arrivent donc vides alors que chaque mot est toujours là. Si tu as besoin de ces champs remplis, garde le .vcf d'origine ou découpe toi-même l'adresse en colonnes distinctes et complète-les dans la destination après import.
- Les caractères accentués survivent-ils ?
- Dans les outils, oui — tout est lu et écrit en UTF-8. Là où ils cassent d'ordinaire, c'est dans un tableur qui ouvre le CSV dans un autre encodage, ce qui transforme é en deux caractères avant que tu aies rien fait. Ouvre le fichier par la boîte de dialogue d'import de ton tableur en choisissant UTF-8 plutôt qu'en double-cliquant, et contrôle un nom accentué avant d'en modifier deux cents.
- Y a-t-il une version de vCard à préférer ?
- La 3.0 est ce qu'exportent la plupart des carnets d'adresses et ce que tout le monde lit : c'est le choix sûr pour déplacer des contacts d'une application à l'autre. La 4.0 est la norme actuelle et écrit certaines valeurs en URI — un téléphone peut arriver sous la forme tel:+33612345678, préfixe compris — tandis que la 2.1, encore produite par de vieux téléphones et clients de messagerie, marque les types sans signe égal, TEL;CELL plutôt que TEL;TYPE=CELL. Les outils lisent les trois ; à l'écriture, la 3.0 voyage le plus loin.
Articles qui pourraient t'intéresser
Tous les guides →Outils similaires
Sources
Tu as repéré une erreur dans cet article ?