Fonction RTD Excel
La fonction RTD (Real-Time Data) permet de récupérer des données en temps réel depuis un serveur externe. C'est la solution professionnelle pour afficher des cours boursiers, des données de marché, ou tout flux de données qui se met à jour automatiquement sans recalcul manuel.
Syntaxe
=RTD(progid; serveur; sujet1; [sujet2]; ...)Paramètres
progid
L'identifiant programmatique (ProgID) du serveur RTD enregistré sur votre système. C'est une chaîne comme "MonApp.RTDServer" ou le CLSID du composant COM.
serveur
Le nom du serveur distant si le serveur RTD est sur une autre machine. Utilisez une chaîne vide ("") pour un serveur local.
sujet1, sujet2, ...
Les paramètres passés au serveur RTD pour identifier la donnée demandée. Par exemple, le symbole boursier et le type de donnée (prix, volume, etc.).
Exemples pratiques
Exemple 1 : Cours d'action en temps réel
Récupération du cours d'une action via un serveur RTD financier.
| A | B | C | |
|---|---|---|---|
| 1 | A | B | |
| 2 | 1 | Action | Cours |
| 3 | 2 | AAPL | =RTD("StockServer.RTD";"";"AAPL";"Last") |
| 4 | 3 | MSFT | =RTD("StockServer.RTD";"";"MSFT";"Last") |
| 5 | 4 | GOOGL | =RTD("StockServer.RTD";"";"GOOGL";"Last") |
Exemple 2 : Données de marché multiples
Affichage de plusieurs indicateurs pour un même titre.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | A | B | C | D | |
| 2 | 1 | Symbole | Bid | Ask | Volume |
| 3 | 2 | EURUSD | =RTD(...;"Bid") | =RTD(...;"Ask") | =RTD(...;"Volume") |
| 4 | 3 | GBPUSD | =RTD(...;"Bid") | =RTD(...;"Ask") | =RTD(...;"Volume") |
Exemple 3 : Serveur RTD distant
Connexion à un serveur RTD sur une autre machine du réseau.
| A | B | C | |
|---|---|---|---|
| 1 | A | B | |
| 2 | 1 | Serveur | 192.168.1.100 |
| 3 | 2 | Donnée | =RTD("DataFeed.RTD";A1;"Temperature";"Sensor1") |
| 4 | 3 | Dernière MAJ | =RTD("DataFeed.RTD";A1;"Timestamp";"Sensor1") |
Exemple 4 : Tableau de bord trading
Construction d'un tableau de bord avec calculs basés sur les données RTD.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | A | B | C | D | |
| 2 | 1 | Position | Prix RTD | Quantité | Valeur |
| 3 | 2 | AAPL | =RTD(...) | 100 | =B2*C2 |
| 4 | 3 | MSFT | =RTD(...) | 50 | =B3*C3 |
| 5 | 4 | Total | =SOMME(D2:D3) |
Exemple 5 : Alertes sur seuils
Mise en place d'alertes visuelles basées sur les données RTD.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | A | B | C | |
| 2 | 1 | Indicateur | Valeur RTD | Statut |
| 3 | 2 | CPU Usage | =RTD("Monitor.RTD";"";"CPU") | =SI(B2>80;"ALERTE";"OK") |
| 4 | 3 | Mémoire | =RTD("Monitor.RTD";"";"RAM") | =SI(B3>90;"ALERTE";"OK") |
| 5 | 4 | Disque | =RTD("Monitor.RTD";"";"Disk") | =SI(B4>85;"ALERTE";"OK") |
Erreurs courantes
#N/A
Le serveur RTD n'est pas enregistré, n'est pas démarré, ou le ProgID est incorrect. Vérifiez que le serveur est bien installé et enregistré dans le registre Windows.
"Connexion en cours..."
Le serveur RTD met du temps à répondre ou la connexion réseau est lente. Patientez quelques secondes. Si le problème persiste, vérifiez la connectivité réseau.
#VALEUR!
Les paramètres passés au serveur ne sont pas valides. Vérifiez la documentation du serveur RTD pour connaître les sujets acceptés.
Configuration VBA du throttle
Modifiez l'intervalle de rafraîchissement (en millisecondes) avec ce code VBA :
' Rafraîchissement toutes les 500ms (au lieu de 2000ms par défaut)
Application.RTD.ThrottleInterval = 500
' Pour vérifier l'intervalle actuel
Debug.Print Application.RTD.ThrottleIntervalComparaison des méthodes de données externes
| Méthode | Temps réel | Plateforme | Complexité |
|---|---|---|---|
| RTD | Oui (push) | Windows | Élevée |
| SERVICEWEB | Non (pull) | Toutes | Faible |
| Power Query | Non (pull) | Toutes | Moyenne |
FAQ
Quelle est la différence entre RTD et une formule normale ?
Les formules normales se mettent à jour lors du recalcul du classeur. 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.
Ai-je besoin d'installer quelque chose pour utiliser RTD ?
Oui, RTD nécessite un serveur RTD (composant COM) installé sur votre machine. Ces serveurs sont fournis par des éditeurs de logiciels financiers (Bloomberg, Reuters) ou peuvent être développés sur mesure en .NET ou C++.
RTD fonctionne-t-il dans Excel Online ou sur Mac ?
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 le web, utilisez Power Query ou des connecteurs spécifiques.
Quelle est la fréquence de rafraîchissement de RTD ?
Par défaut, Excel interroge le serveur RTD toutes les 2 secondes (2000ms). Vous pouvez modifier ce paramètre via Application.RTD.ThrottleInterval en VBA. Certains serveurs peuvent pousser des mises à jour plus fréquentes.
Puis-je créer mon propre serveur RTD ?
Oui, vous pouvez 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 ou IoT.
Fonctions associées
Tu veux aller plus loin ?
Rejoins Le Dojo Club pour accéder à des formations complètes, des lives experts et une communauté d'entraide.
Essayer pendant 30 jours