Traduire une feuille Excel avec VBA + TRANSLATE()

Traduisez automatiquement une feuille Excel entière en utilisant VBA et la fonction intégrée =TRANSLATE().

Si vous avez déjà eu besoin de traduire une feuille de calcul entière (facture, liste de produits, liste de colisage, etc.) sans casser la mise en page, cette approche fonctionne bien :

  • Gardez votre feuille originale intacte
  • Créez une nouvelle feuille "traduite" avec le même formatage
  • Utilisez la fonction intégrée =TRANSLATE() d'Excel pour traduire automatiquement chaque cellule de texte

=TRANSLATE() est une fonction Excel basée sur le cloud alimentée par Microsoft Translator. Elle nécessite une connexion Internet. Elle est disponible dans Excel pour Microsoft 365 (y compris Mac), Excel pour le web et mobile, mais peut ne pas encore exister dans certaines versions/canaux.

Avant de commencer : confirmez que =TRANSLATE() existe dans votre Excel

Dans n'importe quelle cellule, essayez :

=TRANSLATE("hello","en","fr")

Si vous obtenez #NAME?, votre version d'Excel n'a pas encore la fonction. Microsoft indique qu'elle est prise en charge sur Microsoft 365 / web / mobile et est basée sur un service.

Elle a également été introduite comme nouvelle fonction via les canaux Microsoft 365 Insider, donc la disponibilité peut dépendre du canal de mise à jour/déploiement.

Ce que vous allez créer

Une macro VBA qui :

  • Crée une copie de votre feuille active
  • Traduit toutes les cellules de texte en utilisant la fonction =TRANSLATE()
  • Préserve les nombres, formules et formatage
  • Nomme la nouvelle feuille avec le code de la langue cible

Prérequis

  • Abonnement Microsoft 365 (la fonction =TRANSLATE() nécessite Microsoft 365)
  • Excel pour Windows ou Mac (la version Web a un support VBA limité)
  • Macros activées dans les paramètres Excel
1

Enregistrer votre fichier en tant que classeur prenant en charge les macros

  1. 1Ouvrez votre fichier Excel
  2. 2Allez dans Fichier → Enregistrer sous
  3. 3Sélectionnez Classeur Excel prenant en charge les macros (*.xlsm) dans la liste déroulante du type de fichier
  4. 4Cliquez sur Enregistrer

Important : Les fichiers .xlsx normaux ne peuvent pas contenir de macros. Vous devez enregistrer en .xlsm pour utiliser le code VBA.

2

Ouvrir l'éditeur VBA

Keyboard Shortcut

Appuyez sur Alt + F11 (Windows) ou Option + F11 (Mac)

Méthode alternative

  1. 1.Allez dans l'onglet Développeur
  2. 2.Cliquez sur Visual Basic

Astuce : Si vous ne voyez pas l'onglet Développeur, allez dans Fichier → Options → Personnaliser le ruban et cochez la case Développeur.

3

Télécharger et importer le code VBA

Obtenir la macro VBA depuis GitHub

Téléchargez le fichier TranslateSheet.bas depuis notre dépôt open-source.

Comment importer le fichier .bas

  1. 1Téléchargez le fichier TranslateSheet.bas
  2. 2Dans l'éditeur VBA, allez dans Fichier → Importer un fichier...
  3. 3Sélectionnez le fichier TranslateSheet.bas téléchargé
  4. 4Le module apparaîtra dans le dossier Modules de votre projet

Alternative : Vous pouvez également copier le code directement depuis GitHub et le coller dans un nouveau module (Insertion → Module).

4

Exécuter la macro

  1. 1Assurez-vous que la feuille que vous voulez traduire est active
  2. 2Appuyez sur Alt + F8 pour ouvrir la boîte de dialogue Macros, sélectionnez TranslateActiveSheetToNewSheet, puis cliquez sur Exécuter
  3. 3Entrez le code de la langue source (laissez vide pour la détection automatique)
  4. 4Entrez le code de la langue cible (par ex., "ja" pour le japonais)
  5. 5Entrez le nom de la nouvelle feuille ou acceptez la valeur par défaut
  6. 6Choisissez si vous voulez convertir les formules en valeurs (Oui/Non)

Remarque : La vitesse de traduction dépend du nombre de cellules et de votre connexion Internet. Les feuilles avec plus de 500 cellules de texte peuvent prendre plusieurs minutes. Pour les très grandes feuilles (1000+ cellules), envisagez de les diviser en lots plus petits.

Notes importantes

  • Limites de taux : Microsoft Translator a des limites d'utilisation. Si vous traduisez des milliers de cellules, vous pouvez voir des erreurs temporaires. Attendez quelques minutes et réessayez.
  • Attendre le calcul : Après avoir exécuté la macro, attendez que toutes les formules TRANSLATE finissent de calculer avant de convertir en valeurs. Vous verrez "Calcul en cours..." dans la barre d'état pendant qu'elle travaille.
  • Cellules fusionnées : La macro préserve le formatage des cellules fusionnées, mais seule la cellule en haut à gauche d'une zone fusionnée contient du texte. Les autres cellules de la fusion resteront vides.

Codes de langue pris en charge

Utilisez ces codes lorsqu'on vous demande la langue source ou cible :

CodeLangue
enEnglish
jaJapanese
zh-CNChinese (Simplified)
zh-TWChinese (Traditional)
koKorean
esSpanish
frFrench
deGerman
itItalian
ptPortuguese
ruRussian
arArabic
hiHindi
viVietnamese
thThai

Astuce : Pour une liste complète des codes de langue pris en charge par la fonction TRANSLATE, visitez la documentation officielle de Microsoft.

Dépannage

"Fonction TRANSLATE non disponible"

La fonction TRANSLATE nécessite un abonnement Microsoft 365. Assurez-vous d'avoir la dernière version d'Excel et d'être connecté à votre compte Microsoft 365.

"Les macros sont désactivées"

Allez dans Fichier → Options → Centre de gestion de la confidentialité → Paramètres du Centre de gestion de la confidentialité → Paramètres des macros et sélectionnez "Activer toutes les macros" ou "Désactiver toutes les macros avec notification".

"La traduction renvoie une erreur #VALEUR!"

Cela se produit généralement lorsque la cellule contient des caractères spéciaux ou en cas de problème réseau. La macro ignore les cellules avec des erreurs et continue la traduction.

"La macro s'exécute trop lentement"

Les grandes feuilles avec des milliers de cellules peuvent prendre du temps. Envisagez de diviser vos données en feuilles plus petites ou utilisez le service de traduction Excel de Doc2Lang pour un traitement par lots plus rapide.

"La traduction ne fonctionne pas" ou les cellules affichent #CONNECT!

La fonction TRANSLATE nécessite une connexion Internet active. Vérifiez votre connexion réseau et réessayez. Les pare-feu d'entreprise peuvent également bloquer l'accès aux services Microsoft Translator.

Tutoriel vidéo

Regardez le guide vidéo étape par étape :

Besoin d'une traduction plus précise ?

Doc2Lang utilise une traduction alimentée par l'IA avec une conscience du contexte pour une précision accrue, préservant tous les formatages, formules et styles.