Publipostage Gmail Google Sheets : corriger les prénoms vides
Si votre publipostage Gmail Google Sheets envoie des messages qui commencent par « Bonjour , » ou « Bonjour , », la cause se trouve presque toujours dans la feuille de calcul, pas dans l'outil de publipostage. Une cellule vide, une cellule qui ne contient qu'une espace, ou une cellule où figure un nom de société à la place d'un prénom est collée dans le modèle telle quelle. La solution consiste à ne plus fusionner sur la colonne de prénoms brute, mais sur une colonne d'aide qui fournit une valeur de secours (par exemple « Madame, Monsieur ») chaque fois que la cellule d'origine est vide. Une seule formule suffit : =IF(TRIM(A2)="";"Madame, Monsieur";TRIM(A2)). La suite de cet article explique comment repérer les lignes problématiques, construire cette colonne, traiter les variantes courantes (nom complet dans une seule cellule, dates affichées comme des nombres, majuscules aléatoires) et faire une courte vérification avant l'envoi pour éviter un message embarrassant.
Une précision sur les formules : les exemples utilisent les noms de fonctions en anglais, que Google Sheets accepte aussi dans une feuille en français, et le point-virgule comme séparateur d'arguments, qui est celui d'une feuille configurée en français. Si votre feuille est en anglais (menu Fichier › Paramètres › Paramètres régionaux), remplacez les ; par des ,.
Pourquoi un publipostage Gmail Google Sheets envoie « Bonjour , »
Un publipostage est une simple substitution. L'outil lit une ligne de votre feuille, remplace chaque balise de votre brouillon par la valeur de la colonne correspondante, puis envoie. Il ne sait pas que Prenom est censé contenir le prénom d'une personne, et il n'a aucun avis sur ce qu'il faudrait faire quand la cellule est vide. La plupart des outils, qu'il s'agisse du publipostage intégré à Google Workspace, d'un script Apps Script trouvé en ligne, d'un module complémentaire Sheets ou d'une extension Chrome comme Zestmail qui fusionne à partir de l'URL d'une feuille Google Sheets, insèrent ce que contient la cellule. Si elle ne contient rien, vous obtenez rien, et la virgule que vous avez tapée après la balise reste orpheline.
La cellule vide n'est que le cas le plus visible. Le même mécanisme produit ceci :
- Une cellule avec une seule espace a l'air vide mais ne l'est pas, si bien que même les outils qui proposent une valeur de secours ne la déclenchent pas. Résultat : « Bonjour , » avec deux espaces.
- Un nom complet dans la colonne Prénom (« Bonjour Camille Dupont, ») parce que la liste a été exportée d'un CRM ou d'un formulaire d'inscription avec un seul champ « Nom ».
- TOUT EN MAJUSCULES ou tout en minuscules (« Bonjour SAMUEL, » ou « Bonjour samuel, ») à cause de saisies rapides sur téléphone.
- Des textes de remplissage venus du système source, comme « N/A », « Inconnu », « - » ou « test ».
- Un nom de société à la place d'un prénom, parce qu'une adresse générique comme contact@ ou bonjour@ a été ajoutée à la liste.
- Des dates et des montants envoyés sous forme brute : « votre essai se termine le {{DateFin}} » devient « votre essai se termine le 46325 », parce que Google Sheets stocke les dates comme des numéros de série.
Chacun de ces cas est un problème de données, et un problème de données se corrige là où vivent les données. En réparant la feuille, tous les outils que vous y brancherez un jour se comporteront correctement, et vous verrez exactement ce qui partira avant d'appuyer sur Envoyer.
Repérer les lignes qui vont poser problème
Avant d'écrire des formules, mesurez l'ampleur du problème. Trois méthodes rapides dans Google Sheets :
- Compter les cellules vides. Dans une cellule libre, tapez
=COUNTBLANK(A2:A)(remplacezApar la lettre de votre colonne de prénoms). Si le résultat est 0 alors que vous avez bien vu « Bonjour , », vous avez probablement des cellules contenant des espaces plutôt que de vraies cellules vides. Essayez=COUNTIF(A2:A;" ")et=COUNTIF(A2:A;""). - Filtrer la colonne. Sélectionnez la ligne d'en-tête, choisissez Données › Créer un filtre, cliquez sur l'icône de filtre de la colonne Prénom et parcourez la liste des valeurs. Les cellules vides apparaissent en haut sous « (Vides) ». Faites défiler la liste pour repérer les « N/A », « - », les lettres isolées ou les noms de sociétés.
- Signaler les entrées douteuses. Dans une nouvelle colonne, utilisez
=IF(OR(TRIM(A2)="";LEN(TRIM(A2))<2;ISNUMBER(SEARCH(" ";TRIM(A2))));"à vérifier";""). Cette formule marque les lignes où le prénom est vide, ne fait qu'un caractère ou contient une espace (ce qui signale en général un nom complet tombé dans le champ Prénom). Triez sur cette colonne et relisez à la main les lignes « à vérifier ».
Pour une liste de quelques centaines de lignes, cette relecture manuelle prend en général cinq minutes et attrape ce qu'aucune formule ne verra, comme « Dr Benali » dans le champ Prénom.
Construire une colonne de secours dans Google Sheets
Ne remplacez pas votre colonne d'origine. Ajoutez une nouvelle colonne, nommez-la clairement (par exemple Salutation) et fusionnez sur celle-ci. Conserver les données brutes vous permet de changer d'avis plus tard sur la formulation de secours sans rien perdre.
Valeur de secours de base
Dans la première ligne de données de la nouvelle colonne :
=IF(TRIM(A2)="";"Madame, Monsieur";TRIM(A2))
TRIM supprime les espaces en début et en fin de cellule, donc une cellule qui ne contient qu'une espace compte comme vide. Si le résultat est vide, la formule renvoie « Madame, Monsieur » ; sinon elle renvoie le prénom nettoyé. Étirez la formule vers le bas, ou saisissez =ARRAYFORMULA(IF(TRIM(A2:A)="";"Madame, Monsieur";TRIM(A2:A))) dans la première cellule pour remplir toute la colonne d'un coup.
« Bonjour Madame, Monsieur, » est un choix classique pour un envoi professionnel en français : il reste correct et ne prétend pas connaître la personne. Selon le contexte, d'autres options fonctionnent : « Bonjour, » tout court (en plaçant la virgule dans la formule, voir ci-dessous), la fonction de la personne (« Bonjour à toute l'équipe ») ou le nom de la société si vous l'avez dans une autre colonne.
Mettre toute la salutation dans la formule
Si vous préférez que la version sans prénom soit simplement « Bonjour, » plutôt que « Bonjour Madame, Monsieur, », déplacez la virgule dans la feuille :
=IF(TRIM(A2)="";"Bonjour,";"Bonjour "&TRIM(A2)&",")
Votre modèle commence alors par {{Salutation}} sur sa propre ligne, et il n'y a plus de ponctuation orpheline à surveiller. C'est l'approche la plus robuste, parce que le modèle ne fait aucune supposition sur le contenu de la colonne.
Traiter les valeurs de remplissage
Élargissez le test pour considérer les valeurs parasites courantes comme vides :
=IF(OR(TRIM(A2)="";LOWER(TRIM(A2))="n/a";LOWER(TRIM(A2))="inconnu";TRIM(A2)="-");"Madame, Monsieur";TRIM(A2))
Ajoutez ce que produit votre système source en particulier.
Corriger les majuscules
PROPER() met une majuscule au début de chaque mot et le reste en minuscules, ce qui transforme « SAMUEL » en « Samuel ». Attention : la fonction transforme aussi « McKenzie » en « Mckenzie » et « Jean-Pierre » conserve sa majuscule après le trait d'union, mais « d'Alembert » devient « D'Alembert ». Un compromis raisonnable consiste à ne l'appliquer que lorsque la cellule est entièrement en majuscules ou entièrement en minuscules :
=IF(OR(EXACT(A2;UPPER(A2));EXACT(A2;LOWER(A2)));PROPER(A2);A2)
Imbriquez cette formule dans la formule de secours, ou placez-la dans sa propre colonne d'aide et faites-y référence.
Extraire le prénom d'un nom complet
Si une colonne contient « Camille Dupont » et que vous ne voulez que « Camille » :
=IF(TRIM(B2)="";"Madame, Monsieur";REGEXEXTRACT(TRIM(B2);"^\S+"))
REGEXEXTRACT avec ^\S+ renvoie tout ce qui précède la première espace. Pour une entrée d'un seul mot, elle renvoie le mot entier. Vérifiez les résultats pour les noms qui commencent par un titre (« Dr », « M. », « Mme ») et pour les cas où le nom de famille a été saisi en premier, comme c'est fréquent dans les fichiers administratifs (« DUPONT Camille ») ; une formule ne peut pas deviner quelle convention suit une ligne donnée, d'où l'importance de la relecture manuelle décrite plus haut.
Dates et nombres
Google Sheets transmet à beaucoup d'outils de publipostage la valeur sous-jacente, pas l'affichage formaté. Pour être tranquille, convertissez explicitement :
=TEXT(D2;"d mmmm yyyy") → 24 octobre 2026
=TEXT(E2;"# ##0,00 €") → 1 250,00 €
Les lettres du motif de date (d, m, y) restent les mêmes quelle que soit la langue de la feuille ; le nom du mois s'affiche dans la langue des paramètres régionaux. Pour le motif monétaire, vérifiez le rendu dans votre feuille, car l'interprétation des séparateurs dépend des paramètres régionaux. Fusionnez ensuite sur ces colonnes de texte. Combinez avec une valeur de secours si la date peut manquer : =IF(D2="";"prochainement";TEXT(D2;"d mmmm yyyy")).
Phrases conditionnelles
Les valeurs de secours ne servent pas qu'aux salutations. Si certaines lignes ont une société et d'autres non, construisez la phrase entière dans la feuille :
=IF(TRIM(C2)="";"J'ai vu que vous vous étiez inscrit la semaine dernière.";"J'ai vu que "&TRIM(C2)&" s'était inscrit la semaine dernière.")
Le modèle contient alors {{PhraseOuverture}} et chaque destinataire reçoit une phrase correcte. La logique reste visible à un seul endroit au lieu d'être cachée dans les réglages d'un outil.
Trois vérifications avant d'envoyer
Corriger les données fait l'essentiel du travail. Ces vérifications attrapent le reste.
- Trier sur la colonne de secours. Cliquez sur l'en-tête de votre colonne
Salutationet triez de A à Z. Toutes les lignes « Madame, Monsieur » se regroupent ; parcourez-les pour confirmer qu'elles n'ont vraiment aucun prénom exploitable. Triez ensuite de Z à A et regardez le haut de la liste pour repérer des anomalies, comme des prénoms qui commencent par un symbole ou un chiffre. Annulez le tri ensuite si l'ordre des lignes compte pour vous. - Prévisualiser trois lignes, pas une. La plupart des outils affichent un aperçu de la première ligne, qui est généralement une ligne propre. Déplacez temporairement en haut de la feuille une ligne sans prénom, une ligne avec un nom complet et une ligne avec une date, prévisualisez chacune, puis remettez-les à leur place. Si votre outil permet de choisir la ligne à prévisualiser, utilisez plutôt cette option.
- Envoyer un lot de test à vous-même. Ajoutez deux ou trois lignes en haut de la feuille avec votre propre adresse (ou des alias Gmail comme [email protected]), une avec un prénom normal, une avec une cellule de prénom vide, une avec une date. Lancez le publipostage sur ces lignes seulement, ouvrez les messages dans Gmail et relisez-les sur téléphone aussi bien que sur ordinateur. Supprimez ensuite les lignes de test et lancez le vrai envoi.
Que vous utilisiez le publipostage intégré de Google Workspace, Apps Script ou un module complémentaire, ces vérifications s'appliquent de la même façon. C'est la feuille qui fait le travail ; l'outil ne fait que la lire.
Où une extension devient utile
Zestmail est une extension Chrome pour Gmail qui propose un publipostage à partir de l'URL d'une feuille Google Sheets, donc la méthode de la colonne d'aide décrite ci-dessus fonctionne telle quelle : construisez la colonne Salutation, collez l'URL de la feuille et utilisez cette colonne dans votre brouillon. L'extension et son site sont en anglais, ce qui ne gêne pas le publipostage en français mais mérite d'être su avant de l'installer depuis le Chrome Web Store. La raison de la préférer à un script tient surtout à ce qui se passe après l'envoi. Zestmail ajoute le suivi d'ouverture à Gmail : vous voyez si et quand chaque destinataire a ouvert le message, et l'extension filtre vos propres ouvertures ainsi que les ouvertures automatiques courantes, de sorte qu'un lot de test envoyé à vous-même ne fausse pas les résultats. Vous pouvez ainsi comparer, par exemple, si les lignes « Madame, Monsieur » sont moins ouvertes que les lignes avec prénom, ce qui aide à décider combien d'efforts consacrer à la collecte des prénoms. Le suivi d'ouverture n'est jamais exact (le blocage des images et les relais de confidentialité comme la protection de la confidentialité dans Mail d'Apple masquent une partie des ouvertures), donc lisez-le comme une tendance, pas comme un décompte. Le plan gratuit couvre jusqu'à 20 e-mails par jour et ajoute un petit pied de page « Sent with Zestmail » ; le plan Pro lève cette limite pour 9 $ par mois ou 69 $ par an, avec un essai gratuit de 7 jours. Si vous ne faites des publipostages qu'occasionnellement et n'avez pas besoin de savoir qui a ouvert quoi, les outils de Google suffisent et ne coûtent rien.
Garder la liste propre dans la durée
Le problème des prénoms vides revient à chaque nouvel export collé dans la feuille. Deux habitudes l'évitent :
- Rendre le champ Prénom obligatoire à la source. Si les gens rejoignent votre liste via un Google Forms, un Typeform ou un formulaire sur votre site, marquez le champ Prénom comme obligatoire et intitulez-le « Prénom » plutôt que « Nom ». Un champ « Nom » unique est la façon la plus sûre de retrouver des noms complets dans la mauvaise colonne.
- Conserver les formules dans une feuille modèle. Enregistrez une copie de votre feuille de publipostage avec les colonnes d'aide et sans données. À chaque nouvelle liste, collez les lignes brutes dans les colonnes de données : les formules de secours, de majuscules et de dates se remplissent automatiquement. Relisez la colonne « à vérifier », faites les trois vérifications avant envoi, puis envoyez.
La règle de fond est simple : un publipostage enverra fidèlement ce qui se trouve dans la cellule. Décidez ce que chaque cellule doit contenir dans tous les cas possibles, traduisez cette décision en formule, et regardez les cas limites avant que vos destinataires ne les voient.