Fonction Excel RTD ne peut pas retourner un tableau

Traductions disponibles Traductions disponibles
Numéro d'article: 286258 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Résumé

Microsoft Excel 2002, Microsoft Office Excel 2003 et Microsoft Office Excel 2007 fournissent une nouvelle fonction de feuille de calcul qui est nommée RTD. RTD vous permet se d'appeler un serveur Automation modèle COM pour extraire des données en temps réel. La fonction RTD ne parvient pas à renvoyer une matrice Si la fonction RTD est utilisée en tant que formule matricielle toutes les cellules de la matrice renvoient #VALEUR

Plus d'informations

La souplesse inhérente d'un serveur RTD et la fonction RTD fait les utiliser dans des formules inutiles matricielles. La fonction RTD peut prendre un nombre arbitraire de chaînes ou de rubriques pour spécifier les données à afficher dans une cellule Un serveur RTD bien écrit peut renvoyer une valeur unique en utilisant des chaînes de rubrique supplémentaire. Excel doit qu'effectuer un seul appel au serveur RTD à extraire toutes les données du serveur RTD. Par conséquent cette conception ne compromet pas de performance.

Par conséquent vous aurez parfois besoin d'un serveur RTD pour renvoyer une matrice de valeurs pour une seule rubrique et vous devrez peut-être aussi analyser cette matrice de valeurs dans plusieurs cellules Dans ce cas le serveur RTD peut renvoyer une seule chaîne contenant toutes les valeurs Vous pouvez ensuite utiliser une fonction Microsoft Visual Basic pour Applications (VBA) pour analyser la chaîne afin que les données puissent être renvoyées à la feuille de calcul d'un tableau. Excel peut utiliser la méthode Evaluate pour interpréter son format d'un tableau de chaîne. Cette chaîne est placée entre accolades les colonnes sont séparées par des virgules et les lignes sont séparées par des points-virgules Excel peut interpréter d'un tableau avec 3 rangées et 4 colonnes, par exemple la chaîne suivante :
{ 1; 2; 3; 4; 10; 20; 30; 40; 100 200, 300, 400 }
Excel peut interpet la chaîne suivante d'un tableau avec 2 lignes et 5 colonnes :
" { "Un e ""b", C, d""; "AA" "bb", "Cc", "jj", "ibre" }"
Le procedue suivant illustre une technique vous pouvez utiliser pour analyser une chaîne de ce type lequel est renvoyée d'un serveur RTD dans plusieurs cellules.

Exécutez les procédures pour cela :
  1. Créez le projet Visual Basic pour le serveur RTD décrit dans l'article suivant de la Base de connaissances Microsoft
    285339 Comment créer un serveur RealTimeData pour Excel
  2. Dans le module FonctionsRTD du projet de classe, remplacez la ligne suivante dans la fonction IRtdServer RefreshData :
    aUpdates(1, n) = oTopic.TopicValue
    					
    Remplacez le code avec la ligne suivante de code :
    Static bToggle As Boolean
    bToggle = Not (bToggle)
    If bToggle Then
       aUpdates(1, n) = "{1,2,3;10,20,30}"
    Else
       aUpdates(1, n) = "{""a"",""b"",""c"";""d"",""e"",""f""}"
    End If
    					
  3. Construisez le serveur RTD du projet Visual Basic.
  4. Dans Excel 2002, Office Excel 2003 ou Office Excel 2007, démarrez un nouveau classeur et puis appuyez sur ALT + F11 pour ouvrir le Visual Basic Editor.
  5. Insérez un nouveau module de code dans le projet Visual Basic pour Applications et ensuite ajoutez l'exemple de code suivant au module de code.
    Function parseArrayData( arrayData as String ) as Variant
       parseArrayData = Evaluate( arrayData )
    End Function
    					
  6. Fermez Visual Basic Editor pour revenir au classeur Excel
  7. Sélectionnez une plage de cellules de deux lignes sur trois colonnes sur la feuille de calcul
  8. Tapez la formule suivante et puis appuyez sur CTRL + MAJ + ENTRÉE pour le entrer sous forme d'une formule matricielle :
    =parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))
  9. Après la première notification de mise à jour, les chaque six cellules contiennent un nombre unique. Après la deuxième notification de mise à jour, chaque cellule contient du caractère unique.

Références

Pour plus d'informations sur des serveur RealTimeData, cliquez sur les numéros ci-dessous pour afficher les articles correspondant dans la Base de connaissances Microsoft :
286259 Paramètres de sécurité et serveurs d'Excel RealTimeData
285888 Comment utiliser un serveur d'Excel RTD avec DCOM

Propriétés

Numéro d'article: 286258 - Dernière mise à jour: lundi 14 mai 2007 - Version: 3.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Mots-clés : 
kbinfo KB286258 KbMtfr kbmt
Traduction automatique
TRADUCTION AUTOMATIQUE : Cet article technique a été traduit par un système automatique, c'est-à-dire sans aucune intervention humaine. Microsoft propose ce type d?articles en complément de ceux traduits par des traducteurs professionnels. Ces articles sont destinés principalement aux utilisateurs ne comprenant pas l'anglais en leur proposant, en complément, une version française de l?information technique fournie dans la version américaine et originale de l?article. Pour plus de détails, veuillez consulter la page http://support.microsoft.com/gp/mtdetails. Attention : Il est possible que certaines parties de l?article ne soient pas traduites par le système automatique et qu?elles soient restées rédigées en anglais. Microsoft ne garantit pas la qualité linguistique des traductions et ne peut être tenu responsable d?aucun problème, direct ou indirect, dû à une quelconque erreur de traduction du contenu ou de son utilisation par les utilisateurs.
La version anglaise de cet article est la suivante: 286258
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com