Comment traduire uniquement les lignes manquantes dans CSV ou Excel, avec l'IA

Comment traduire uniquement les lignes manquantes dans CSV ou Excel, avec l'IA

7 septembre 2026

Vous travaillez sur un fichier où une partie du travail est déjà faite. Quatre cents lignes ont un titre en allemand. Trois mille six cents n’en ont pas. Quelqu’un, à un moment donné, a traduit le premier lot, puis le catalogue s’est agrandi.

Les outils classiques demandent tous le fichier complet. La question n’est donc pas de savoir comment le traduire, mais comment traduire uniquement la partie manquante, et ne payer que pour cette partie.

À quoi ressemble réellement un fichier partiellement traduit

Voici la structure du problème, à une échelle assez petite pour être vue d’un coup d’œil.

Un fichier où deux lignes sur quatre ont déjà un titre en allemand. Seules les deux cellules vides sont traitées, le reste du fichier est restitué à l'identique.

Appliquées à 4,000 lignes (exemple illustratif, et non un travail mesuré), les deux options n’ont plus rien de comparable. Soit vous payez pour 4,000 lignes et vérifiez les modifications sur l’ensemble, soit vous payez pour 3,600 lignes et n’en vérifiez que 3,600. Avec la deuxième option, les formulations déjà vérifiées par votre collègue restent exactement telles qu’elle les a laissées.

Les cinq types de fichiers concernés

Ce n’est pas un cas particulier. C’est la situation habituelle pour tout fichier qui a été modifié plus d’une fois, et l’enjeu est bien réel : en juillet 2020, CSA Research a constaté, auprès de 8,709 consommateurs dans 29 pays, que 76% des acheteurs en ligne préfèrent acheter des produits présentés dans leur langue et que 40% n’achèteront jamais sur des sites dans une autre langue.

Lignes ajoutées depuis la dernière fois. Le catalogue a augmenté de 200 produits. Les 3 800 autres sont terminés et révisés. C’est le cas le plus courant, et cela se répète chaque mois.

Une langue ajoutée à un fichier qui en possède déjà trois. Votre tableur contient des colonnes en français, allemand et espagnol. L’italien a été acté la semaine dernière et sa colonne est vide, ou inexistante. Vous voulez l’italien, tout en laissant les trois autres langues tranquilles.

Une passation de projet commencée par quelqu’un d’autre. Un freelance a traité le premier tiers avant que le projet ne stagne. Vous ne savez pas exactement où il s’est arrêté, et vous ne voulez pas le découvrir en payant pour le chevauchement.

Un fichier dans lequel un outil a précédemment copié le texte source dans la cible pour servir de texte provisoire. Ce cas piège tout le monde, car le fichier semble terminé. Dans un export XLIFF, chaque unité de traduction peut contenir un élément <target> et un attribut state qui indique le statut de la cible (la spécification précise que la cible est facultative et que state indique son statut). Pourtant, de nombreux outils préremplissent la cible en y copiant le texte source, pour donner l’impression que la structure est complète. À l’ouverture du fichier, toutes les cibles sont renseignées, mais beaucoup ne sont pas traduites.

Des lignes volontairement laissées telles quelles. Des descriptions de SKU internes, un paragraphe juridique validé par votre conseil dans une seule langue, trois produits en cours de retrait. Ce ne sont pas des lacunes. Ce sont des décisions, et un outil qui les remplirait par helpfulité endommagerait le fichier.

Ces deux derniers cas expliquent pourquoi « traduire les vides » n’est pas une simple case à cocher. Ce qui est considéré comme manquant est une information que vous seul possédez, c’est pourquoi le mécanisme nécessite une phrase de votre part plutôt qu’un réglage.

Où s’arrête le périmètre par plage et où commence le périmètre par condition

Retraduire tout le fichier revient à payer deux fois pour le contenu déjà finalisé. Traduire uniquement les lacunes permet de tarifer et réviser seulement les lignes manquantes.

Un traducteur automatique traite le texte que vous lui fournissez. DeepL et Google Translate reçoivent du texte et renvoient du texte. Vous devez donc exclure les lignes à ne pas traduire avant l’envoi (consultez notre analyse complète des limites de la traduction en masse avec DeepL). Certains outils permettent de sélectionner une plage : le traducteur Excel de Smartcat, par exemple, vous permet de saisir une plage de colonnes comme A:H ou de lignes comme 1:50, puis de choisir si elle doit être traduite ou laissée telle quelle. Mais une plage désigne un emplacement, tandis que « uniquement si la cellule en allemand est vide » est une condition portant sur le contenu. C’est cette logique que nous prenons en charge. Sinon, vous devez filtrer vous-même le fichier avant de l’envoyer, puis réintégrer le résultat à votre retour. Vous vous retrouvez alors à gérer cette manipulation dans un tableur et à la répéter chaque mois. Par ailleurs, sans qu’il s’agisse d’un test que nous avons réalisé, des équipes nous ont contactés parce que, sur leurs contenus et avec leur terminologie, la traduction automatique ne répondait plus à leurs exigences de publication.

Un assistant généraliste peut respecter la règle pendant un moment. Copiez 50 lignes dans ChatGPT ou Claude avec l’instruction « remplis uniquement les cellules allemandes vides » et cela fonctionnera. Le problème surgit avec le volume, et il arrive silencieusement : après les premiers blocs, une ligne qui avait déjà une traduction en reçoit une nouvelle, et vous le découvrez lors de la révision, ou pire, vous ne le voyez pas. Il existe une version plus longue de cette comparaison si vous le souhaitez, mais en résumé : une règle basée sur la confiance ne peut pas être vérifiée, tandis qu’une règle appliquée par du code le peut.

Une agence fera exactement ce que vous demandez. Le coût n’est pas le tarif au mot, mais la préparation : extraire les lignes manquantes, expliquer quelles colonnes ne pas toucher, attendre, puis fusionner le résultat dans votre propre fichier. Ce travail n’est pas de la traduction, et le coût caché est que vous devrez tout recommencer à chaque mise à jour.

D’abord, la méthode manuelle

Si vous préférez le faire manuellement, voici la méthode de base :

  1. Ajoutez un filtre à la colonne cible et affichez uniquement les cellules vides.
  2. Copiez le texte source des lignes qui restent visibles.
  3. Collez-le dans un outil de traduction et traduisez-le.
  4. Recopiez le résultat dans les lignes filtrées de la colonne cible.
  5. Supprimez le filtre et vérifiez que l’ordre des lignes n’a pas changé et que les lignes terminées sont restées en place.

Cette méthode fonctionne et convient tout à fait pour quelques centaines de lignes. La suite s’adresse à vous si vous préférez ne pas répéter ces cinq étapes chaque mois, ou si les éléments « manquants » ne se limitent pas aux cellules vides.

L’instruction devient du code, c’est pourquoi elle tient bon à la ligne 18 000

C’est la partie essentielle à comprendre, car elle explique pourquoi une règle de périmètre se comporte différemment ici.

Votre phrase n’est pas transmise comme un simple indice à un modèle de traduction. AI Glot analyse la structure de votre fichier, puis transforme votre instruction en un petit programme qui parcourt le fichier et produit la liste exacte des segments de texte concernés. Cette liste est ensuite traduite. La règle est évaluée par le code pour chaque enregistrement, ainsi l’enregistrement 18 000 subit le même test que l’enregistrement 1. Il n’y a pas de dérive, car il n’y a rien qui puisse dériver.

Ce programme est soumis à une série de vérifications avant toute consommation de crédits :

  • Il ne peut pas modifier votre fichier. Le document est comparé avant et après l’exécution du programme, et toute modification est purement et simplement rejetée. Votre fichier source n’est jamais touché, et chaque décision de périmètre s’applique uniquement au fichier de sortie.
  • Il ne peut pas inventer de texte. Chaque segment de texte sélectionné doit exister mot pour mot dans votre fichier. Il ne peut pas paraphraser une cellule au passage.
  • Chaque destination doit être un emplacement réel et scriptible. Ainsi, une règle pointant vers une colonne inexistante échoue lors de la planification plutôt que de produire un fichier aberrant.
  • Si votre règle ne correspond à rien, la planification échoue et vous en avertit. Cela peut sembler rigide, mais c’est réellement utile : c’est ainsi que vous apprenez, gratuitement, que le fichier que vous pensiez à moitié terminé est en fait fini.

« Toujours manquant » peut signifier quatre choses différentes

Voici la nuance qui détermine si votre phrase fonctionnera. Une lacune n’est pas le même objet selon le format, donc le test que votre instruction doit décrire change selon le fichier utilisé.

Une phrase simple sur le contenu manquant, et les quatre tests différents qu'elle génère selon le format de votre fichier.

Dans un tableur, une cellule vide constitue une lacune. Un fichier CSV ne distingue pas les colonnes source et cible : la RFC 4180 décrit uniquement des enregistrements, des champs et une éventuelle ligne d’en-tête. Seule votre consigne peut donc préciser quelle colonne est la source et laquelle est la cible. Que le fichier soit arrivé sous la forme d’un export CSV ou d’un classeur Excel, le critère est le même : cette ligne contient un titre en anglais, mais rien dans la colonne allemande, elle est donc concernée. Précisez : « uniquement les lignes où la colonne allemande est encore vide ».

Dans un fichier bilingue, une lacune signifie souvent que la cible est encore identique à la source. XLIFF associe chaque unité à un champ de traduction que de nombreux outils préremplissent en y copiant le texte source. Dans ce cas, le vide n’est pas le bon critère : il faut comparer les deux textes. Précisez : « traduire uniquement les unités dont le champ cible contient encore le même texte que la source ». Cette seule phrase suffit pour traiter un fichier comme celui-ci, qui est un exemple illustratif et non un fichier client : un export WordPress de 228 unités, dont 217 cibles contiennent encore le français d’origine, constitue une tâche tout à fait normale, sans qu’il soit nécessaire de débattre pour savoir si le fichier est terminé.

Dans un arbre de clés, une lacune est une clé absente. En JSON ou YAML, la traduction allemande d’une chaîne existe soit en tant que clé voisine, soit elle n’existe pas, et une clé manquante peut être créée tant que son objet parent existe. Une valeur vide compte également, donc « uniquement là où la clé de est manquante ou vide » couvre les deux cas.

Dans un fichier monolingue, il n’y a rien à comparer dans le fichier lui-même. C’est une limite qu’il faut reconnaître. Un fichier Android strings.xml, un fichier iOS .strings (le guide d’Apple recommande un fichier .strings par langue, chacun dans un dossier de langue tel que de.lproj), un fichier Java .properties, un fichier .NET RESX et un fichier de sous-titres SRT ne contiennent qu’une seule valeur par clé. Aucune colonne source ne se trouve à côté. Il est donc impossible de vérifier automatiquement si un texte est « déjà traduit », car le fichier ne contient pas cette information. En revanche, vous pouvez vous baser sur ce que le fichier indique réellement : une valeur vide ou un marqueur que vous avez ajouté, comme le préfixe TODO. Si votre seul indice est qu’une valeur « ressemble à de l’anglais », aucune règle ne permet de le déterminer de manière fiable. Mieux vaut alors séparer le fichier avant de le téléverser.

Où placer la phrase de périmètre, et où elle ne fera rien sans prévenir

Une erreur ici et vous paierez la traduction de tout le fichier. Il y a deux endroits pour écrire une instruction, et ils ne sont pas interchangeables.

L'instruction du plan définit le texte à traduire. Les instructions du lot définissent la rédaction de chaque chaîne. Un périmètre défini au mauvais endroit n'a aucun effet.

L’instruction de planification est celle que vous saisissez avant de voir le plan. Elle est analysée en fonction de la structure de votre fichier et sert de base à l’élaboration du plan. Le périmètre (scope) se définit ici.

Les instructions de lot sont transmises lors de la traduction et appliquées au fur et à mesure de la rédaction de chaque chaîne. À ce stade, seule une chaîne est visible, donc une règle ne peut décrire que des éléments visibles dans cette chaîne : conserver un espace réservé tel quel, ne pas toucher une URL dans le contenu, ne jamais traduire un nom de produit, utiliser un registre informel.

Voici l’exemple d’un échec. Indiquez “traduire uniquement les cellules vides” dans les instructions de lot : rien ne se passe, et aucun avertissement ne s’affiche. À ce stade, il n’y a plus de notion de cellules. Il y a une seule chaîne, déjà sélectionnée et en cours de traduction, car la décision sur le périmètre a été prise plus tôt par une instruction qui ne mentionnait pas le périmètre. Le fichier revient entièrement traduit et la facture reflète ce volume.

Écrit dans les instructions de lot Pourquoi cela ne fonctionne pas Où cela doit être placé
“Traduire uniquement les cellules vides.” Aucune cellule n’est visible, seulement une chaîne. L’instruction de planification
“Ignorer la première colonne.” Une colonne relève de la structure du fichier. L’instruction de planification
“Uniquement les lignes ajoutées depuis mars.” Idem. L’instruction de planification
“Ne pas toucher à la colonne SKU.” Idem. Décrivez plutôt le contenu : “ne pas traduire les codes produits alphanumériques”. L’un ou l’autre, après reformulation

Le moyen le plus simple de s’en souvenir : le plan décide de ce qui est traduit, les instructions de lot décident de la manière dont c’est écrit.

Rédiger l’instruction

Un anglais simple, une ou deux lignes, en nommant explicitement la source et la cible. Voici des exemples qui fonctionnent tels quels :

Only the rows where the German column is still empty. Source is English.
Only translate the units where the target is identical to the source,
it is a placeholder. Leave every unit that already differs.
Fill the empty Italian column from the English one. Do not touch the
French, German or Spanish columns.
Translate the description and the SEO title into Dutch where the Dutch
version is missing. Leave the handle and the SKU alone.
Instructions for this batchOptional
Apply
Décrivez la tâche en anglais simple. AI Glot la transforme en un plan que vous pouvez lire et corriger avant l'exécution.

Deux habitudes rentables. Nommez la langue source plutôt que de laisser l’outil la deviner, car l’inférence est moins fiable là où elle coûte le plus cher : les chaînes courtes et les fichiers contenant déjà des valeurs traduites, ce qui est le cas de tous les fichiers de cet article. Et nommez les colonnes ou clés que vous souhaitez laisser intactes, même si votre règle de périmètre les exclut déjà. Cela demande une simple clause et élimine toute catégorie de malentendu.

Si les mêmes termes doivent être traduits de la même manière que lors du lot précédent, ajoutez-les une fois dans un glossaire d’espace de travail. Les lignes que vous remplissez maintenant correspondront alors aux lignes remplies en mars, ce qui est l’autre condition pour finaliser correctement un fichier partiellement traduit.

Confirmez le périmètre avant de payer

Vous n’avez jamais à espérer que l’instruction a été comprise, car vous lisez le plan d’abord.

Le plan revient avec des comptes mesurés, le nombre réel d’éléments et de mots trouvés dans votre fichier, et non une estimation basée sur sa taille. Il propose trois moyens de vérification : un aperçu de l’aspect final de votre fichier, un tableau des segments de texte exacts qui seront envoyés et un résumé en langage clair de ce qui a été compris. C’est dans le tableau des éléments qu’un mauvais périmètre devient évident, car une ligne que vous pensiez exclue figure ou non dans cette liste.

Si c’est incorrect, précisez-le dans une phrase et le plan est régénéré. La création du lot et la planification sont gratuites et répétables autant de fois que vous le souhaitez. L’approbation est la seule étape qui consomme des crédits, et le montant approuvé correspond au nombre de mots mesuré dans le périmètre. Ainsi, l’erreur coûteuse évoquée dans cet article, payer pour retraduire un travail déjà fait, ne peut arriver que si vous approuvez un plan qui l’indique.

Cet ordre est plus important qu’il n’y paraît. Un outil où le périmètre est une supposition doit inspirer confiance. Un outil où le périmètre est un plan que l’on lit est un outil où se tromper ne coûte rien.

Deux autres points à savoir

Vous pouvez demander à ne récupérer que les enregistrements modifiés. Si vous avez besoin d’un petit fichier pour un réviseur plutôt que du catalogue complet, précisez-le et le résultat ne contiendra que les enregistrements ayant reçu une traduction. Cela fonctionne pour CSV, Excel, JSON, YAML, PO, XLIFF, SRT et les archives ZIP de ces formats. Cette option est volontairement refusée pour les fichiers de ressources d’applications, car une application recherche chaque clé attendue et un fichier strings.xml partiel provoque un plantage plutôt qu’un fichier plus léger.

Une règle qui doit faire un décompte sur l’ensemble du fichier ne fonctionnera pas. Pour traiter un fichier volumineux, le programme qui sélectionne les lignes à traduire les parcourt par fenêtres successives, au lieu de les voir toutes en même temps. Les règles fondées sur la position fonctionnent, car il peut faire le calcul : toutes les deux lignes, les 500 premières lignes. En revanche, il ne peut pas appliquer une règle qui repose sur un décompte cumulatif, comme « les 200 premières lignes encore vides », car aucun passage ne sait combien de lignes correspondaient au critère dans les fenêtres précédentes. Demandez toutes les lignes vides ou une plage de lignes précise : ces deux options conviennent. Les fichiers peuvent être très longs : Excel autorise 1,048,576 lignes par feuille, ce qui laisse largement de quoi tester une règle à la ligne 18,000.

La portée réelle de tout ceci

Utilisez-le pour la partie véritablement répétitive : les 200 lignes apparues ce mois-ci, la quatrième langue acceptée la semaine dernière, les deux mille unités qu’un outil précédent a laissées avec leur texte source. Ce travail est fastidieux à la main, et c’est le même travail chaque mois.

Consacrez ensuite le temps de révision au résultat, et non au filtrage du fichier. De nombreuses équipes utilisent cela comme premier passage et font intervenir un réviseur, ce qui est un usage optimal de l’expertise d’un spécialiste et bien plus productif que de passer un après-midi à copier un tableur en supprimant quelques lignes.

Si vous n’avez pas encore réalisé l’un de ces processus de bout en bout, commencez par le flux complet plutôt que par le périmètre : vous trouverez un guide pour traduire un fichier CSV et un autre pour traduire un classeur Excel. La phrase sur le périmètre mentionnée plus haut s’applique à l’un ou l’autre sans modification.

Pour votre page d’accueil, engagez un traducteur. Pour les 3 600 lignes encore vides, ne payez pas pour les 400 qui ne le sont pas.

Prêt à traduire vos fichiers volumineux ?

Créer un compte gratuit →

Prompt copié

  1. 1Ouvrez votre agent IA
  2. 2Collez le promptCtrl V
  3. 3Suivez ses instructions
Afficher le prompt

Traduis un fichier pour moi avec AI Glot. Demande-moi quel fichier et quelles langues, puis suis https://ai-glot.com/agent.md

Vos 5 000 premiers mots offerts