Comment configurer et utiliser la fonction RTD dans Excel

Résumé

Remarque

Les performances de la fonction RealTimeData (RTD) ont été considérablement améliorées dans Excel M365 version 2002 ou ultérieure. Pour plus d’informations, consultez Améliorations des performances et des limites d’Excel.

Cet article décrit les fonctionnalités de la fonction RealTimeData (RTD). Microsoft Office Excel fournit une fonction de feuille de calcul, RealTimeData (RTD). Cette fonction vous permet d’appeler un serveur Com (Component Object Model) Automation pour récupérer des données en temps réel.

Lorsque vous devez créer un classeur qui inclut des données mises à jour en temps réel, par exemple des données financières ou scientifiques, vous pouvez maintenant utiliser la fonction feuille de calcul RTD. Dans les versions antérieures d’Excel, l’échange dynamique de données (DDE) est utilisé à cette fin. La fonction RTD est basée sur la technologie COM et offre des avantages en matière de robustesse, de fiabilité et de commodité. RTD dépend de la disponibilité d’un serveur RTD pour rendre les données en temps réel disponibles pour Excel. Pour plus d’informations sur la création d’un serveur RTD, consultez la section « Références ».

La fonction RTD récupère les données d’un serveur RTD pour les utiliser dans le classeur. Le résultat de la fonction est mis à jour chaque fois que de nouvelles données sont disponibles à partir du serveur et que le classeur peut les accepter. Le serveur attend qu’Excel soit inactif avant la mise à jour. Cela évite au développeur d’avoir à déterminer si Excel est disponible pour accepter les mises à jour. La fonction RTD diffère des autres fonctions à cet égard, car les autres fonctions sont mises à jour uniquement lorsque la feuille de calcul est recalculée.

Bien que la fonction RTD fournisse un lien vers des données sur un serveur, il ne s’agit pas du même type de lien que les références à des cellules dans d’autres feuilles de calcul ou classeurs. Par exemple, si vous utilisez la fonction RTD dans un classeur, vous ne recevez pas le message de démarrage des liens lorsque vous ouvrez le classeur, et vous ne pouvez pas gérer la status d’une fonction RTD via la boîte de dialogue Modifier les liens.

Syntaxe

La fonction RTD utilise la syntaxe suivante

=RTD(RealTimeServerProgID,ServerName,Topic1,[Topic2], ...)

où les arguments de fonction sont les suivants :

  • RealTimeServerProgID

    Chaîne qui représente l’ID de programme du serveur RTD installé sur le système local. Il s’agit généralement d’un complément COM qui est inscrit par une procédure d’installation ou à l’aide de RegSvr32. RealTimeServerProgID est un argument obligatoire.

  • ServerName

    Chaîne qui représente le nom du serveur sur lequel le serveur RTD doit être exécuté. Si le serveur RTD est exécuté localement, serverName doit être une chaîne vide («  ») ou omis.

  • Topic1, [Topic2], ...

    Chaînes qui déterminent les données récupérées. Vous pouvez utiliser de 1 à 28 rubriques, bien qu’une seule rubrique soit requise.

Utilisation de RTD

À titre d’exemple de la fonction RTD, envisagez de récupérer des informations à partir d’un serveur qui fournit des données continues aux coureurs dans plusieurs courses simultanées. Supposons que le serveur est fourni en tant que bibliothèque de liens dynamiques (DLL) nommée RaceReport.dll, qu’il est installé sur l’ordinateur de l’utilisateur et qu’il est inscrit en tant que complément COM par son propre processus d’installation. La forme générale de la fonction RTD telle qu’elle est utilisée avec ce serveur peut être la suivante

=RTD(« MyRTDServerProdID »,"MyServer »,"RaceNum »,"RunnerID »,"StatType »)

où les rubriques RaceNum, RunnerID et StatType déterminent la race d’intérêt, l’exécuteur dont les données sont requises et le type de données pour une utilisation particulière de la fonction, respectivement.

Ici, l’utilisateur peut sélectionner une cellule et taper la formule suivante dans celle-ci

=RTD(« ExcelRTD.RaceReport »," »,"2 »,"16 »,"Time »)

pour voir le temps écoulé actuel pour le runner numéro 16 dans le numéro de course 2. Le nombre de rubriques et la nature des données associées sont déterminés par le développeur du serveur COM. Par exemple, le serveur de rapports de concurrence peut fournir des données différentes si vous utilisez la fonction RTD suivante :

=RTD(« ExcelRTD.RaceReport »," »,"3 »,"25 »,"Position »)

Dans ce cas, les données retournées indiquent la position actuelle du numéro d’exécuteur 25 dans le numéro de course 3.

De cette façon, la même fonction peut être utilisée différemment dans le classeur pour récupérer des données différentes à partir du même serveur, toutes mises à jour automatiquement.

Wrappers pour simplifier l’utilisation

La fonction RTD peut être utilisée dans les fonctions définies par l’utilisateur (UDF) dans Microsoft Visual Basic pour Applications. Ceux-ci deviennent ensuite des wrappers pour la fonction RTD. Cette approche peut être utile pour protéger les utilisateurs contre les détails du nom du serveur RTD et du ProgID, et pour leur permettre de se concentrer uniquement sur les données qui sont importantes pour eux.

Par exemple, dans le scénario précédent, deux fonctions peuvent être fournies à l’utilisateur : GetTime(RunnerID) et GetPosition(RunnerID). Ces fonctions supposent que l’utilisateur traite toujours le même serveur et le même numéro de race. Par conséquent, l’utilisateur doit uniquement spécifier l’ID d’un exécuteur pour recevoir les données actuelles sur le temps écoulé et la position de l’exécuteur, respectivement.

Calcul

Étant donné que RTD met à jour les données quand Excel est inactif, il continue de recevoir des informations si Excel est en mode de calcul manuel. Dans ce cas, les nouvelles données sont mises en cache et les valeurs actuelles sont utilisées lorsqu’un calcul manuel est effectué.

Sécurité

Les serveurs RTD doivent être signés numériquement. Si un serveur RTD n’est pas signé numériquement, le serveur risque de ne pas se charger et un #N/A s’affiche dans la ou les cellules référençant le serveur RTD.

Pour Microsoft Office Excel 2007, vous pouvez consulter les paramètres de sécurité à l’aide du Centre de gestion de la confidentialité. Vous pouvez y accéder à partir de l’onglet Centre de gestion de la confidentialité de la boîte de dialogue Options Excel .

Pour Microsoft Office Excel 2003 et microsoft Excel 2002, le comportement de chargement peut être modifié en ajustant les paramètres de sécurité des macros dans Excel.

References

Pour plus d’informations sur rtd et la sécurité d’Excel, voir Comment configurer et utiliser la fonction RTD dans Excel.

Pour plus d’informations sur la création d’un serveur RTD, voir Comment créer un serveur RealTimeData pour Excel.