Qu'est-ce que la fonction RTD ?
Tu passes à RTD dès qu'un classeur qui se recalcule au clavier (F9 ou modification d'une cellule) ne suffit plus, et que tu as besoin d'un flux qui pousse ses mises à jour tout seul, en continu, sans que personne touche au fichier. C'est la solution professionnelle réservée à Windows, pensée pour les flux qui changent à la seconde.
Contrairement aux formules classiques qui se calculent lors du recalcul du classeur, RTD reçoit des mises à jour poussées par le serveur en continu. Tu peux l'utiliser pour construire un tableau de bord de trading en temps réel, surveiller des indicateurs industriels (température, pression, stocks), ou connecter Excel à n'importe quelle source de données propriétaire via un serveur COM.
Syntaxe
Clique sur un argument pour aller à son explication.
RTD est une technologie Windows uniquement, basée sur le protocole COM. Elle ne fonctionne pas dans Excel pour Mac, Excel Online ou les versions mobiles. L'intervalle de rafraîchissement par défaut est de 2000 ms, modifiable via Application.RTD.ThrottleInterval en VBA.

Comprendre chaque paramètre de la fonction RTD
RTD se lit comme une adresse qui se précise au fil des arguments : d'abord le progid qui désigne quel serveur interroger, puis le serveur (vide pour une machine locale, sinon un nom ou une IP), enfin un ou plusieurs sujets qui pointent la donnée exacte. Seul progid et le premier sujet sont vraiment indispensables, mais c'est l'enchaînement des sujets ("AAPL" puis "Last") qui distingue une valeur d'une autre. Tu peux en empiler jusqu'à 253.
progid
: l'identifiant programmatique (ProgID) du serveur RTD enregistré sur ton systèmeC'est une chaîne comme "MonApp.RTDServer" ou le CLSID du composant COM sous la forme "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}".
Ce ProgID est fourni par l'éditeur du serveur RTD (Bloomberg, Refinitiv) ou par le développeur qui a créé le serveur sur mesure. Tu le trouves dans la documentation du logiciel ou dans le registre Windows.
serveur
: le nom de la machine distante si le serveur RTD est sur un autre ordinateur du réseauPour un serveur installé localement, utilise une chaîne vide "" ou NULL.
Dans la grande majorité des cas (Bloomberg, flux de marché), le serveur tourne en local et tu passes "". Pour des architectures IoT ou des données industrielles centralisées, tu peux indiquer un nom de machine ou une adresse IP.
sujet1
: le premier paramètre passé au serveur RTD pour identifier la donnée demandéeEn finance, c'est généralement le symbole boursier (ex : "AAPL", "EURUSD").
La signification exacte de ce paramètre dépend entièrement du serveur RTD utilisé. Consulte la documentation du fournisseur pour connaître la liste des sujets acceptés.
[sujet2], ...
: les paramètres supplémentaires pour préciser la donnée souhaitée(facultatif)En finance, c'est généralement le type d'information (ex : "Last", "Bid", "Ask", "Volume").
Tu peux passer jusqu'à 253 paramètres de sujet au total. Chaque combinaison de sujets identifie une donnée unique dans le serveur RTD.

Exemples pratiques pas à pas
Trader : cours d'action en temps réel
Tu travailles sur un desk de trading et tu veux afficher les derniers cours de plusieurs actions directement dans Excel. Chaque cellule de la colonne B est liée en temps réel au serveur RTD de ton fournisseur de données.
Contrairement à une formule qui se recalcule sur demande, RTD reçoit les mises à jour dès qu'elles sont poussées par le serveur, sans aucune action de ta part. L'affichage se met à jour dans la limite de l'intervalle de rafraîchissement (par défaut toutes les 2 secondes).
- 1Dans une cellule, écris
=RTD(. - 2En 1er argument : écris l'identifiant du serveur qui pousse les cours, son ProgID,
"StockServer.RTD". Ce serveur est un composant COM installé et démarré sur ta machine Windows, fourni par Bloomberg, Refinitiv ou développé sur mesure ; sans lui, la formule renvoie#N/A. - 3En 2ᵉ argument : écris
"", deux guillemets vides, pour indiquer que le serveur tourne sur ta propre machine. Une paire de guillemets vides suffit tant que tu n'interroges pas un ordinateur distant. - 4En 3ᵉ argument : saisis le premier sujet, le symbole boursier
"AAPL". C'est lui qui dit au serveur de quelle action tu veux la donnée. - 5En 4ᵉ argument : saisis le second sujet,
"Last", qui demande le dernier cours coté. La combinaison des deux sujets identifie une valeur et une seule dans le flux du serveur. - 6Ferme la parenthèse et appuie sur Entrée, puis reproduis la formule en
B3etB4en changeant le symbole ("MSFT","GOOGL") pour suivre plusieurs actions. La cellule affiche le dernier cours d'AAPL et se rafraîchit toute seule dès que le serveur pousse une nouvelle valeur, dans la limite de l'intervalle par défaut de 2 secondes.
=RTD("StockServer.RTD";"";"AAPL";"Last")Cambiste : données de marché multiples pour un même titre
Tu suis les cours de change en temps réel et tu veux afficher plusieurs indicateurs pour chaque paire de devises dans un même tableau. Chaque cellule utilise RTD avec le même symbole mais un sujet différent (Bid, Ask, Volume).
Cette approche te permet de construire une grille de monitoring complète. Si le spread s'élargit au-delà d'un seuil, tu peux combiner RTD avec une condition pour déclencher une alerte visuelle automatiquement.
- 1Dans une cellule, écris
=RTD(. - 2En 1er argument : écris l'identifiant du serveur de cours de change, son ProgID,
"FXServer.RTD". Ce composant COM doit être installé et démarré sous Windows, sinon toutes les cellules renvoient#N/Aau lieu des cours. - 3En 2ᵉ argument : écris
"", deux guillemets vides, parce que le flux de change tourne en local sur ton poste et non sur une machine distante. - 4En 3ᵉ argument : saisis le symbole de la paire de devises,
"EURUSD". Il reste constant sur toute la ligne, quel que soit l'indicateur demandé ensuite. - 5En 4ᵉ argument : saisis le sujet qui choisit l'indicateur,
"Bid"pour le prix acheteur. C'est le seul sujet qui change d'une colonne à l'autre,"Ask"donnant le prix vendeur enCet"Volume"les volumes échangés enD. - 6Ferme la parenthèse et appuie sur Entrée, puis duplique la ligne pour
"GBPUSD"afin de suivre plusieurs paires côte à côte. Chaque cellule affiche son indicateur en temps réel et l'ensemble compose une grille de monitoring qui se rafraîchit sans intervention.
=RTD("FXServer.RTD";"";"EURUSD";"Bid")Ingénieur industriel : serveur RTD distant pour données IoT
Tu supervises une ligne de production et tu veux centraliser les données de capteurs industriels directement dans Excel. Le serveur RTD est installé sur une machine dédiée au réseau local (192.168.1.100).
En passant l'adresse IP dans le paramètre serveur, Excel se connecte au serveur distant. Cette architecture permet à plusieurs postes Excel de consommer les mêmes données sans dupliquer la connexion aux capteurs.
- 1Dans une cellule, écris
=RTD(. - 2En 1er argument : écris l'identifiant du serveur de capteurs, son ProgID,
"DataFeed.RTD". Il doit être installé et démarré sur la machine cible et joignable par le réseau, faute de quoi la formule renvoie#N/A. - 3En 2ᵉ argument : écris l'adresse de la machine distante qui héberge le serveur,
"192.168.1.100". Cette fois le composant n'est pas sur ton poste mais sur un ordinateur du réseau local, d'où l'adresse IP à la place des guillemets vides. - 4En 3ᵉ argument : saisis le premier sujet,
"Temperature". Il nomme la grandeur que le capteur relève. - 5En 4ᵉ argument : saisis le second sujet,
"Sensor1". Il désigne le capteur précis à lire sur ce serveur, et la paire de sujets identifie ainsi une donnée unique dans le flux. - 6Ferme la parenthèse et appuie sur Entrée, puis duplique la formule avec le sujet
"Timestamp"pour horodater la dernière mise à jour. En rangeant l'adresse dans une cellule à part, plusieurs postes consomment les mêmes capteurs et tu changes de serveur en modifiant un seul endroit.
=RTD("DataFeed.RTD";"192.168.1.100";"Temperature";"Sensor1")Gérant : tableau de bord portefeuille avec valorisation en temps réel
Tu gères un portefeuille d'actions et tu veux que la valorisation totale se mette à jour automatiquement sans aucune manipulation. La colonne B contient les cours RTD, la colonne D calcule la valeur de chaque ligne (cours x quantité) et D4 totalise le tout.
Chaque fois que le cours d'une action change (dans la limite du ThrottleInterval), la valeur de la ligne et le total se recalculent instantanément. Tu obtiens ainsi un tableau de bord de valorisation en quasi-temps réel.
- 1Dans une cellule, écris
=RTD(. - 2En 1er argument : écris l'identifiant du serveur de cours, son ProgID,
"StockServer.RTD". Sans ce composant COM installé et démarré, la colonne des cours affiche#N/Aet toute la valorisation s'effondre faute de prix. - 3En 2ᵉ argument : écris
"", deux guillemets vides, puisque le serveur de cours tourne en local sur ton poste. - 4En 3ᵉ argument : saisis le premier sujet, le symbole boursier de la position à valoriser,
"AAPL". - 5En 4ᵉ argument : saisis le second sujet,
"Last", qui réclame le dernier cours coté de l'action. - 6Ferme la parenthèse et appuie sur Entrée, puis recopie le cours sur chaque ligne, multiplie-le par la quantité détenue dans
=B2*C2et totalise le tout enD4avec=SOMME(D2:D3). À chaque cours poussé par le serveur, la valeur de la ligne puis le total se recalculent sans la moindre manipulation.
=RTD("StockServer.RTD";"";"AAPL";"Last")Administrateur système : monitoring serveur avec alertes
Tu surveilles un parc de serveurs et tu veux des alertes automatiques dès qu'un indicateur dépasse un seuil. La colonne B affiche les valeurs en temps réel via RTD, la colonne C calcule le statut avec une condition.
En combinant RTD avec des conditions, du formatage conditionnel ou des macros VBA, tu peux construire un système de monitoring complet directement dans Excel, sans outil tiers.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui déclenche l'alerte et referme la valeur temps réel,
RTD("Monitor.RTD";"";"CPU")>80. La fonction RTD lit le pourcentage d'usage processeur poussé par le serveur"Monitor.RTD", qui doit être installé et démarré, et le>80la compare au seuil au-delà duquel tu veux être prévenu. - 3En 2ᵉ argument : saisis le texte affiché quand le seuil est franchi,
"ALERTE", entre guillemets pour qu'Excel l'écrive tel quel. - 4En 3ᵉ argument : saisis le texte affiché tant que tout va bien,
"OK". - 5Ferme la parenthèse de la fonction SI et appuie sur Entrée. Celle de la fonction RTD a déjà été refermée dans le premier argument ; recopie ensuite la formule sur les lignes de la mémoire et du disque en adaptant le seuil, et ajoute un format conditionnel sur la colonne pour l'alerte visuelle.
=SI(RTD("Monitor.RTD";"";"CPU")>80;"ALERTE";"OK")
Les erreurs fréquentes avec la fonction RTD
Avec RTD, le soupçon numéro un tombe en dehors de ta formule : c'est l'environnement Windows qui flanche. Neuf fois sur dix, un #N/A signifie qu'Excel ne trouve pas le composant COM derrière ton progid : serveur pas installé, pas démarré, ou identifiant mal orthographié.
Les deux autres pannes sont plus douces : un "Connexion en cours..." qui s'éternise pointe vers le réseau ou un serveur lent, et un #VALEUR! trahit un sujet que le serveur ne reconnaît pas (une simple faute de frappe dans "Bid" suffit).
Erreur #N/A – Serveur RTD non enregistré ou non démarré
Le serveur RTD n'est pas installé sur la machine, n'est pas démarré, ou le ProgID est incorrect. Excel affiche #N/A quand il ne trouve pas le composant COM correspondant au ProgID dans le registre Windows.
Solution : Vérifie que le logiciel fournissant le serveur RTD est bien installé et démarré (Bloomberg Terminal, Refinitiv Eikon, etc.). Contrôle le ProgID exact dans la documentation du fournisseur. Tu peux aussi vérifier son enregistrement dans le registre Windows via regedit à la clé HKEY_CLASSES_ROOT.
Affichage "Connexion en cours..." sans mise à jour
Le serveur RTD met du temps à répondre, la connexion réseau est lente, ou le serveur distant est surchargé. Excel affiche ce message intermédiaire le temps d'établir la connexion.
Solution : Patiente quelques secondes après l'ouverture du classeur. Si le message persiste, vérifie la connectivité réseau vers le serveur et que le service est bien actif. Pour les serveurs distants, un ping peut confirmer l'accessibilité.
Erreur #VALEUR! – Paramètres de sujet non valides
Les paramètres sujet passés au serveur RTD ne correspondent pas à des données reconnues par ce serveur. Chaque serveur RTD a sa propre liste de sujets valides.
Solution : Consulte la documentation du serveur RTD pour connaître exactement les sujets acceptés (noms de symboles, types de données, identifiants de capteurs). Une faute de frappe dans le sujet suffit à déclencher cette erreur.

Astuces avancées avec RTD
Ajuste l'intervalle de rafraîchissement via VBA
Par défaut, Excel interroge le serveur RTD toutes les 2000 ms (2 secondes). Pour des données ultra-rapides (trading haute fréquence), tu peux réduire cet intervalle via VBA : Application.RTD.ThrottleInterval = 500 pour 500 ms.
Attention : un intervalle trop faible peut surcharger le serveur et dégrader les performances globales d'Excel. Commence par tester avec 1000 ms avant de descendre davantage.
Centralise tes ProgID dans une zone de paramètres
Au lieu d'écrire le ProgID directement dans chaque formule, stocke-le dans une cellule nommée (=ProgIDServeur). Ta formule devient =RTD(ProgIDServeur;"";"AAPL";"Last"). Si tu changes de fournisseur de données, tu ne modifies qu'une seule cellule.
Cette approche facilite aussi la maintenance et évite les fautes de frappe dans les ProgID qui sont souvent des chaînes complexes.
Combine RTD avec SI pour des alertes visuelles
RTD retourne une valeur numérique ou texte que tu peux utiliser directement dans n'importe quelle formule Excel. La combinaison =SI(RTD(...) > seuil; "ALERTE"; "OK") est particulièrement puissante pour le monitoring.
Ajoute du formatage conditionnel sur la cellule de statut pour une alerte visuelle automatique sans macro.

RTD vs SERVICEWEB vs Power Query
Choisis RTD seulement quand tu as besoin d'un flux poussé en continu et que tu travailles sur Windows : cours boursiers, capteurs IoT, tout ce qui change à la seconde sans que tu touches au classeur. Le prix à payer, c'est un serveur COM à installer et à enregistrer.
Si tes données viennent d'une API REST ou d'un fichier, SERVICEWEB (une simple URL, et ça marche aussi sur Mac et Online) ou Power Query (pour consolider plusieurs sources) seront bien plus simples à mettre en place. RTD ne se justifie que quand la mise à jour en temps réel est non négociable.
| Critère | RTD | SERVICEWEB | Power Query |
|---|---|---|---|
| Mode de mise à jour | Push (temps réel) | Pull (manuel ou recalcul) | Pull (actualisation manuelle ou planifiée) |
| Fréquence de rafraîchissement | Configurable (défaut 2 s) | Au recalcul du classeur | Sur demande ou planifiée |
| Plateforme | Windows uniquement | Windows, Mac, Online | Windows, Mac (partiel) |
| Complexité de mise en place | Élevée (serveur COM requis) | Faible (URL suffisante) | Moyenne (interface graphique) |
| Cas d'usage idéal | Données financières, IoT, temps critique | API REST publiques, données statiques | ETL, consolidation de sources multiples |
Questions fréquentes
Les formules normales se mettent à jour lors du recalcul du classeur (F9 ou modification d'une cellule). RTD reçoit des mises à jour poussées par le serveur en temps réel, sans intervention de l'utilisateur. C'est idéal pour les données qui changent fréquemment comme les cours boursiers ou les données de capteurs industriels.
Oui, RTD nécessite un serveur RTD (composant COM) installé sur ta machine. Ces serveurs sont fournis par des éditeurs de logiciels financiers (Bloomberg, Refinitiv) ou peuvent être développés sur mesure en .NET ou C++. Sans serveur installé, la formule retourne #N/A.
Non, RTD est une technologie Windows uniquement basée sur COM. Elle ne fonctionne pas dans Excel pour Mac, Excel Online ou les versions mobiles. Pour ces environnements, utilise SERVICEWEB pour les API REST ou Power Query pour des actualisations planifiées.
Par défaut, Excel interroge le serveur RTD toutes les 2000 ms (2 secondes). Tu peux modifier ce paramètre via VBA avec Application.RTD.ThrottleInterval = 500 pour passer à 500 ms par exemple. Certains serveurs peuvent pousser des mises à jour plus fréquentes.
Oui, tu peux développer un serveur RTD personnalisé en C#, VB.NET ou C++. Le serveur doit implémenter l'interface IRtdServer. C'est utile pour connecter Excel à des sources de données propriétaires, des bases de données internes ou des équipements IoT. Des templates open source existent sur GitHub.
Pour aller plus loin
Continue sur ta lancée après la fonction RTD : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir

