Lire un tableau déclaré Objet ?

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 24 mars 2010 à 12:40
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 24 mars 2010 à 16:10
Bonjour

J'ai un tableau qui est déclarer en Object


Je travail en VBA et j'utilise Autocad. Si on oublie que je suis en VBA, comment est-il possible de récupérer une information du tableau.... Voici mon code et de la facon dont j'ai essayé de récupérer l'info à l'ai de msgbox. Rien ne fonctionne. Je n'ai aps de difficulté à récupérer de l'information d'un tableau déclaré en String mais déclaré Objet, je m'y perd.


merci de votre aide.

ReDim tblsel(0 To Cpt1 - 1) As Object

    For i = 0 To Cpt1 - 1
        Set tblsel(i) = ssetobj.Item(i)
    Next



Dans Autocad:
Je fais une sélection de lignes et ces lignes sont misent dans le tableau (tblsel).
Comment est-il possible de lire les informations misent dans le tableau. je fais un;


msgbox tblsel(0)


Mais j'ai toujours un message d'erreur me disant que c'est impossible.

Je n'ai jamais travailler avec un tableau qui est déclaré en Objets.



merci de votre aide

8 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
24 mars 2010 à 13:37
Salut,

on ne peut pas afficher un objet dans une msgbox !!!

Par contre on peut afficher une propriété de l'objet comme sa valeur, son nom etc.

MsgBox tblsel(0).Name


A+
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
24 mars 2010 à 14:11
Merci de ton aide c'est très apprécié.

Ca bug. Je supose que le VBA ne doit pas gérer le .Name

Humm exite-t-il une facon pour connaitre les propriétés de ce type de Tableau. Pour voir ce que VBA me propose ?


merci encore
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 mars 2010 à 14:17
Bonjour,

Avec un esptio :
Tu sélectionne un élément de ton tableau par le code :

le tblsel(0) de MsgBox tblsel(0)
Ensuite, tu clique sur "Ajouter" et tu verra le type marqué ainsi que ses propriétés.

0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 mars 2010 à 14:22
Bonjour,

Je suppose que l'objet en question ne doit pas gérer la propriété .Name. De plus dans ce cas là, pas possible de tabler sur l'intellisense puisque ton tableau est déclaré en Objet.

Si c'est possible déclare ton tableau du nom de l'objet lui-même, sinon va voir dans l'explorateur d'objets (F2 dans la page de code).


Calade
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 mars 2010 à 14:24
Désolé NHenry, nos réponses ont du se télescoper.


Calade
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
24 mars 2010 à 14:46
J'ai essayé le truc de l'Espion...

J'ai réussi à voir les propriétées de l'objet mais je n'arrive toujours pas à faire fonctionner le msgbox sans avoir des erreurs.

J'aimerais bien mettre une image pour vous montrer mais je n'ai pas d'URL.


Mais voici ce que mon tableau contient.

Ici je veux récupérer la valeur 0 et 1 du EndPoint

Voici ce que l'Espion m'a donné:

tblsel(i)
Angle
Color
Delta
EndPoint
EndPoint(0)
EndPoint(1)
EndPoint(2)
...


J'ai donc codé comme ceci pour voir si je suis capable de visualiser la valeur EndPoint(0) et j'ai toujours une erreur qui dit:
Erreur d'exécution 451
La procédure Property Let n'est pas définie et la Procédure Property Get n'a pas renvoyé un objet

Cette erreur vient de ce code
    For i = 0 To Cpt1 - 1
        Set tblsel(i) = ssetobj.Item(i)
        MsgBox tblsel(i).EndPoint(0)
    Next


merci de votre aide
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 mars 2010 à 16:09
Une petite recherche sur Google m'a amené sur le lien suivant [lien http://translate.google.com/translate?hl=fr&langpair=fr|en&u=http://msdn.microsoft.com/fr-fr/library/ms234761%28VS.80%29.aspx]

Regarde si tu peux en tirer quelque chose.

Calade
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
24 mars 2010 à 16:10
Bon, à priori l'insertion n'a pas marche, voici le lien en texte but:

http://translate.google.com/translate?hl=fr&langpair=fr|en&u=http://msdn.microsoft.com/fr-fr/library/ms234761%28VS.80%29.aspx


Calade
0
Rejoignez-nous