Aller au contenu principal

Qu'est-ce que la fonction RTD ?

Définition
La fonction RTD (Real-Time Data) récupère en temps réel une valeur depuis un serveur RTD enregistré sur Windows, en identifiant le serveur par son ProgID COM et la donnée par un ou plusieurs paramètres de sujet.

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.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

progid

: l'identifiant programmatique (ProgID) du serveur RTD enregistré sur ton système

C'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.

2

serveur

: le nom de la machine distante si le serveur RTD est sur un autre ordinateur du réseau

Pour 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.

3

sujet1

: le premier paramètre passé au serveur RTD pour identifier la donnée demandée

En 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.

4

[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.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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).

Les étapes
  1. 1
    Dans une cellule, écris =RTD(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    Ferme la parenthèse et appuie sur Entrée, puis reproduis la formule en B3 et B4 en 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.
Au final, ta formule devrait ressembler à ça :=RTD("StockServer.RTD";"";"AAPL";"Last")
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =RTD(.
  2. 2
    En 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/A au lieu des cours.
  3. 3
    En 2ᵉ argument : écris "", deux guillemets vides, parce que le flux de change tourne en local sur ton poste et non sur une machine distante.
  4. 4
    En 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.
  5. 5
    En 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 en C et "Volume" les volumes échangés en D.
  6. 6
    Ferme 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.
Voici la formule que tu obtiens à la fin :=RTD("FXServer.RTD";"";"EURUSD";"Bid")
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =RTD(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 3ᵉ argument : saisis le premier sujet, "Temperature". Il nomme la grandeur que le capteur relève.
  5. 5
    En 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.
  6. 6
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=RTD("DataFeed.RTD";"192.168.1.100";"Temperature";"Sensor1")
Exemple 4

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.

Les étapes
  1. 1
    Dans une cellule, écris =RTD(.
  2. 2
    En 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/A et toute la valorisation s'effondre faute de prix.
  3. 3
    En 2ᵉ argument : écris "", deux guillemets vides, puisque le serveur de cours tourne en local sur ton poste.
  4. 4
    En 3ᵉ argument : saisis le premier sujet, le symbole boursier de la position à valoriser, "AAPL".
  5. 5
    En 4ᵉ argument : saisis le second sujet, "Last", qui réclame le dernier cours coté de l'action.
  6. 6
    Ferme la parenthèse et appuie sur Entrée, puis recopie le cours sur chaque ligne, multiplie-le par la quantité détenue dans =B2*C2 et totalise le tout en D4 avec =SOMME(D2:D3). À chaque cours poussé par le serveur, la valeur de la ligne puis le total se recalculent sans la moindre manipulation.
En mettant tout bout à bout, tu écris :=RTD("StockServer.RTD";"";"AAPL";"Last")
Exemple 5

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.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 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 >80 la compare au seuil au-delà duquel tu veux être prévenu.
  3. 3
    En 2ᵉ argument : saisis le texte affiché quand le seuil est franchi, "ALERTE", entre guillemets pour qu'Excel l'écrive tel quel.
  4. 4
    En 3ᵉ argument : saisis le texte affiché tant que tout va bien, "OK".
  5. 5
    Ferme 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.
La formule complète, c'est celle-ci :=SI(RTD("Monitor.RTD";"";"CPU")>80;"ALERTE";"OK")
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec RTD

1Astuce

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.

2Astuce

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.

3Astuce

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreRTDSERVICEWEBPower Query
Mode de mise à jourPush (temps réel)Pull (manuel ou recalcul)Pull (actualisation manuelle ou planifiée)
Fréquence de rafraîchissementConfigurable (défaut 2 s)Au recalcul du classeurSur demande ou planifiée
PlateformeWindows uniquementWindows, Mac, OnlineWindows, Mac (partiel)
Complexité de mise en placeÉlevée (serveur COM requis)Faible (URL suffisante)Moyenne (interface graphique)
Cas d'usage idéalDonnées financières, IoT, temps critiqueAPI REST publiques, données statiquesETL, consolidation de sources multiples
Le savais-tu ?
RTD ne tourne que sous Windows, car elle repose sur la technologie COM : sur Mac, Excel Online ou mobile, elle ne fonctionne pas. Pour ces environnements, passe par SERVICEWEB ou Power Query.
FAQ

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.

Ressources

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