Je recois dans ma feuille Excel des données venant d'un serveur RTD.
J'ai donc des cellules avec des formules du style =RTD(ProgId,,Topic1,Topic2,...)
Ces cellules sont mises a jour en temps reel par Excel via le serveur RTD.
Un exemple d'utilisation est de suivre le cours d'une action en bourse.
Problèmes :
- J'aimerais etre notifié dans Excel quand il y a des updates. Tout ce que j'ai trouvé c'est via Worksheet_Change mais c'est lourd et surtout Excel 'oublie' des évènements donc je ne suis pas notifié tout le temps.
- Au lieu d'afficher le resultat dans une cellule, j'aimerais l'afficher dans une listbox (ou un autre control). Je peux lier ma listbox a la cellule de resultat via la propriete 'ListFillRange' mais ca m'affiche les données brutes (alors que j'aimerais les retraiter avant affichage). Comment lier une listbox a une cellule dynamique en ayant la main pour retraiter les données ?
- Autre souci: si je souhaite garder tous les updates sur une cellule dans ma listbox et non remplacer la valeur d'avant. Impossible d'utiliser ListFillRange qui ecrase le contenu precedent.
Exemple : mon serveur RTD retourne successivement comme valeur pour une cellule : 100 puis 102 puis 104 (espacés dans le temps). J'aimerais une listbox avec 3 lignes : 100, 102 et 104. (et ainsi de suite pour les updates suivants: une sorte d'historique).
Dois-je ecrire mon propre control hérité de listbox, pour améliorer la propriété ListFillRange et aussi pour pouvoir m'intercaler entre les données de la cellule et ma listbox ? (ListFillRange copie betement la plage de cellule dans la listbox, sans qu'on puisse faire un quelconque traitement dessus).
Toute aide serait la bienvenue !