ENCODEURL est une fonction Excel spécialisée pour le web qui transforme n'importe quel texte en format compatible URL. Si tu dois créer des liens dynamiques, construire des requêtes API ou générer des URLs de recherche, cette fonction va te faire gagner un temps fou.
Elle encode automatiquement tous les caractères spéciaux (espaces, accents, symboles &, =, ?, etc.) selon les standards du web. Fini les URLs cassées parce que tu as oublié de remplacer un espace par %20 !
Syntaxe de la fonction ENCODEURL
=ENCODEURL(texte)ENCODEURL encode selon la norme RFC 3986 : les espaces deviennent %20, les accents sont convertis en UTF-8 (é → %C3%A9). Les lettres, chiffres et les caractères -_.~ restent inchangés.
Comprendre chaque paramètre de la fonction ENCODEURL
texte
: la chaîne de caractères que tu veux encoder pour l'utiliser dans une URLÇa peut être du texte brut comme "excel formules", une référence de cellule comme A1, ou le résultat d'une autre fonction comme CONCATENER(A1; " "; B1).
ENCODEURL va remplacer les espaces par %20, les accents par leurs codes UTF-8 (é devient %C3%A9), et tous les caractères spéciaux par leur équivalent encodé.
Astuce : N'encode que les parties dynamiques de ton URL, pas l'URL complète. Utilise "https://site.com/search?q=" & ENCODEURL(A1) et non ENCODEURL("https://site.com/search?q=" & A1), sinon les :// et ? seront aussi encodés et ton URL sera cassée.
Pas envie d'écrire la formule ENCODEURL à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur : générer des URLs d'API dynamiques
Tu es développeur et tu dois créer une liste d'URLs pour interroger une API REST avec différents paramètres de recherche. Les termes de recherche contiennent des espaces et des caractères spéciaux qui doivent être encodés pour que les requêtes aboutissent.
| A | B | |
|---|---|---|
| 1 | Terme de recherche | URL API |
| 2 | formule excel | api.com/search?q=formule%20excel |
| 3 | données & tableaux | api.com/search?q=donn%C3%A9es%20%26%20tableaux |
| 4 | recherche V | api.com/search?q=recherche%20V |
="https://api.com/search?q=" & ENCODEURL(A2)La formule garde la base de l'URL intacte et n'encode que le terme variable de A2 : l'espace de "formule excel" devient %20. Le lien obtenu est valide, là où une URL non encodée ferait échouer la requête API.
Marketing : créer des liens de campagne UTM trackés
Tu travailles en marketing digital et tu dois générer des URLs avec des paramètres UTM pour tracker tes campagnes publicitaires. Les noms de campagne contiennent des espaces et des caractères accentués qui doivent être encodés pour être reconnus correctement par Google Analytics.
| A | B | |
|---|---|---|
| 1 | Campagne | URL trackée |
| 2 | Promo été 2024 | site.com?utm_campaign=Promo%20%C3%A9t%C3%A9%202024 |
| 3 | Soldes & Offres | site.com?utm_campaign=Soldes%20%26%20Offres |
| 4 | Black Friday | site.com?utm_campaign=Black%20Friday |
="https://site.com?utm_campaign=" & ENCODEURL(A2)Ici, la fonction encode uniquement le nom de campagne de A2 : les espaces deviennent %20 et les accents de "été" leurs codes UTF-8 (%C3%A9). Le paramètre UTM est alors reconnu correctement par Google Analytics.
Data analyst : construire des requêtes de recherche Google
Tu es data analyst et tu veux automatiser une recherche Google pour vérifier la présence en ligne de différents produits. Tu dois créer des URLs de recherche Google avec les noms de produits, y compris ceux qui contiennent des espaces, des chiffres et des accents.
| A | B | |
|---|---|---|
| 1 | Produit | Lien recherche Google |
| 2 | iPhone 15 Pro | google.com/search?q=iPhone%2015%20Pro |
| 3 | MacBook Air M2 | google.com/search?q=MacBook%20Air%20M2 |
| 4 | AirPods Pro 2è gen | google.com/search?q=AirPods%20Pro%202%C3%A8%20gen |
="https://www.google.com/search?q=" & ENCODEURL(A2)La formule encode le nom de produit de A2 et le colle après l'URL de recherche : les espaces de "iPhone 15 Pro" deviennent %20. Le lien de recherche Google obtenu est directement exploitable, produit par produit.
Astuce de pro : Pour créer un lien cliquable en une seule formule, imbrique ENCODEURL dans LIEN_HYPERTEXTE : =LIEN_HYPERTEXTE("https://google.com/search?q=" & ENCODEURL(A2); A2). Le deuxième argument est le texte affiché dans la cellule.
Commercial : générer des liens de partage par email
Tu es commercial et tu veux créer des liens mailto: personnalisés pour envoyer des emails pré-remplis à tes prospects avec des sujets personnalisés. Les noms de sociétés contiennent des espaces et des accents qui doivent être encodés pour que le lien fonctionne correctement dans tous les clients email.
| A | B | C | |
|---|---|---|---|
| 1 | Prospect | Lien mailto | |
| 2 | Société ABC | contact@abc.com | mailto:contact@abc.com?subject=Proposition... |
| 3 | Client XYZ | info@xyz.fr | mailto:info@xyz.fr?subject=Proposition... |
| 4 | Startup Tech | hello@tech.io | mailto:hello@tech.io?subject=Proposition... |
="mailto:" & B2 & "?subject=" & ENCODEURL("Proposition commerciale pour " & A2)Ici, la fonction n'encode que l'objet de l'email (le texte fixe concaténé au nom de société de A2) : les espaces deviennent %20 et les accents de "Société" leurs codes UTF-8. L'adresse mailto reste lisible et le lien s'ouvre correctement dans tous les clients email.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction ENCODEURL
Presque tous les ratés d'ENCODEURL viennent du même réflexe : tu lui donnes l'URL entière au lieu du seul paramètre variable. Du coup les :// et ? se transforment en %3A%2F%2F, et ton lien devient illisible pour le navigateur.
Les deux autres pièges sont plus discrets : un texte encodé deux fois (l'espace %20 se change en %2520) et le #NOM? qui signale simplement qu'une vieille version d'Excel ne connaît pas la fonction.
Encoder l'URL complète au lieu des seuls paramètres
Quand tu passes l'URL entière à ENCODEURL : =ENCODEURL("https://site.com/search?q=test"), le résultat est https%3A%2F%2Fsite.com..., une chaîne inutilisable comme URL.
Solution : N'encode que la partie dynamique : ="https://site.com/search?q=" & ENCODEURL("test"). La base de l'URL reste intacte, seul le paramètre est encodé.
Double encodage accidentel (%20 devient %2520)
Si tu appliques ENCODEURL deux fois sur le même texte, les symboles % eux-mêmes sont encodés en %25. Un espace déjà encodé en %20 devient %2520 au deuxième passage.
Solution : Vérifie tes formules imbriquées. Applique ENCODEURL une seule fois sur chaque partie variable, jamais sur un résultat déjà encodé.
Erreur #NOM? : ENCODEURL non reconnue
Si tu vois #NOM?, ta version d'Excel ne reconnaît pas ENCODEURL. Cette fonction existe depuis Excel 2013 ; certaines versions antérieures ou des installations incomplètes ne l'ont pas.
Solution : Mets à jour Excel ou utilise SUBSTITUE comme alternative partielle : =SUBSTITUE(A1;" ";"%20") pour remplacer les espaces. Pour un encodage complet, il faudra une fonction VBA personnalisée.
ENCODEURL vs LIEN_HYPERTEXTE vs CONCAT vs TEXTE
Garde ENCODEURL pour la seule chose qu'elle sait faire et qu'aucune autre ne fait : transformer espaces et accents en %20 et codes UTF-8 valides pour une URL. LIEN_HYPERTEXTE rend ton lien cliquable mais n'encode rien, c'est pour ça qu'on les combine plutôt qu'on les oppose.
CONCAT assemble la base et le paramètre déjà encodé (autant de morceaux que tu veux, alors qu'ENCODEURL n'en prend qu'un), et TEXTE n'a sa place ici que si tu dois formater un nombre ou une date avant de l'encoder.
| Critère | ENCODEURL | LIEN_HYPERTEXTE | CONCAT | TEXTE |
|---|---|---|---|---|
| Usage principal | Encoder les caractères spéciaux | Créer un lien cliquable | Assembler du texte | Formater des nombres |
| Encode les espaces | ✅ Oui (%20) | ❌ Non | ❌ Non | ❌ Non |
| Encode les accents | ✅ Oui (UTF-8) | ❌ Non | ❌ Non | ❌ Non |
| Lien cliquable | ❌ Texte brut | ✅ Oui | ❌ Texte brut | ❌ Texte brut |
| Combine plusieurs textes | ❌ Un seul argument | ⚠️ 2 arguments | ✅ Illimité | ⚠️ 2 arguments |
| Cas d'usage web | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐ |
Astuces avancées avec ENCODEURL
Créer un générateur de QR code
Utilise l'API Google Chart pour générer des QR codes directement depuis Excel : ="https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=" & ENCODEURL(A1). Colle cette URL dans un navigateur et tu obtiens un QR code de ton texte, parfait pour créer des QR codes de liens, vCards ou messages en masse.
Combine avec LIEN_HYPERTEXTE pour ouvrir le QR code en un clic depuis le tableau.
Générer des liens de partage social en masse
Crée des liens de partage Twitter/X pour une liste de messages ou d'articles : ="https://twitter.com/intent/tweet?text=" & ENCODEURL(A1) & "&url=" & ENCODEURL(B1). Fonctionne aussi pour LinkedIn et WhatsApp en changeant le domaine.
Tu peux générer des dizaines de liens de partage personnalisés en quelques secondes pour tes campagnes.
Construire des requêtes vers des APIs REST
Certaines APIs acceptent des paramètres de filtre dans l'URL. Stocke les valeurs de filtre dans des cellules et construis la requête dynamiquement : ="https://api.com/data?filter=" & ENCODEURL("name='" & A1 & "'"). Les espaces, guillemets et opérateurs sont correctement encodés.
Tu peux ainsi générer un jeu de requêtes à tester sans écrire une seule ligne de code.
Questions fréquentes sur la fonction ENCODEURL
Quelle est la différence entre ENCODEURL et l'encodage manuel ?
ENCODEURL encode automatiquement TOUS les caractères spéciaux selon la norme RFC 3986. Manuellement, tu risques d'oublier certains caractères ou de mal encoder les accents UTF-8. C'est plus rapide et plus fiable d'utiliser la fonction.
ENCODEURL fonctionne-t-elle avec les URLs complètes ?
Oui, mais attention : ENCODEURL encode TOUT le texte, y compris les :// et les /. Utilise-la uniquement sur les parties dynamiques de l'URL (paramètres de recherche, noms de fichiers), pas sur l'URL complète.
Peut-on décoder une URL encodée dans Excel ?
Excel n'a pas de fonction de décodage native. Pour décoder, tu dois utiliser SUBSTITUE pour remplacer manuellement les codes courants (%20 par espace, %2B par +, etc.), mais c'est fastidieux pour les accents encodés en UTF-8 sur deux octets.
ENCODEURL est-elle disponible dans toutes les versions d'Excel ?
Non, ENCODEURL est disponible uniquement dans Excel 2013 et versions ultérieures. Si tu utilises une version plus ancienne, tu devras créer une fonction personnalisée en VBA ou encoder tes URL manuellement avec SUBSTITUE.
Pourquoi mes accents deviennent-ils %C3%A9 au lieu de %E9 ?
ENCODEURL utilise l'encodage UTF-8, qui est le standard moderne du web. Le é devient %C3%A9 en UTF-8 (2 octets) au lieu de %E9 en ISO-8859-1 (1 octet). C'est normal et recommandé pour la compatibilité internationale.
ENCODEURL encode-t-elle les barres obliques et les deux-points ?
Oui, / devient %2F et : devient %3A. C'est pourquoi tu ne dois jamais passer l'URL entière à ENCODEURL : encode seulement les valeurs des paramètres, pas la structure de l'URL elle-même.
Pour aller plus loin
Les fonctions similaires : LIEN_HYPERTEXTE, SERVICEWEB, SUBSTITUE, CHERCHE, CONCATENER
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

