Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel) [ Langages dérivés / VBA ] (larsene67)

vendredi 7 juillet 2006 à 15:17:02 | recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel)

larsene67

Re-bonjour, voici une autre question à un de mes soucis.
Alors l'exemple n'est pas très clair quand à l'utilité, mais j'ai simplifié pour la question.
Cela aurais été trop long de tout expliquer, et inutile pour le cas.
En fait, j'essaie de recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction. L'idée étant de pouvoir faire un traitement commun sur des collection et propriétés différentes.
Enfin lisez l'exemple, ce sera plus clair.
En tout cas, je n'arrive pas à le faire marcher....
Une idée?

(Dans class1:)
Public nom, prénom, age

(dans module1:)
Public equipe As New Collection

Sub sub1()
Dim machin As New Class1

machin.nom = "CHRIST"
machin.prénom = "Jesus"
machin.age = "33 ans"
equipe.Add machin
Set machin = Nothing

machin.nom = "LUCAS"
machin.prénom = "GEORGES"
machin.age = "50 ans"
equipe.Add machin
Set machin = Nothing

machin.nom = "DES BATIGNOLES"
machin.prénom = "Marie-thérese"
machin.age = "75 ans"
equipe.Add machin
Set machin = Nothing

result = sub2(equipe, "nom")

End Sub

Private Function sub2(collec As Collection, qualif As String)
Dim r As New ScriptControl
r.Language = "vbscript"
For i = 1 To equipe.Count
    'MsgBox (collec(i).qualif) '<--propriété ou methode non gérée par cet objet
    'MsgBox (r.Eval("collec(" & i & ").qualif")) ' <-- type incompatible 'collec'
    'MsgBox (r.Eval(collec(i).qualif)) '<--propriété ou methode non gérée par cet objet
    'MsgBox (r.Eval(collec(i).qualif))  '<--propriété ou methode non gérée par cet objet
    '... pas d'autres idées :(
Next i

End Function


vendredi 7 juillet 2006 à 16:18:07 | Re : recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel)

BasicInstinct

Membre Club
Réponse acceptée !

'lut

Je pense que ca doit repondre à ton probleme. Mais je n'ai pas testé en Vba

Private Function sub2(collec As Collection, qualif As String)
Dim r As New ScriptControl
   r.Language = "vbscript"
   For i = 1 To collec.Count
         Msgbox  CallByName(collec(I), qualif, VbGet)
   Next i
End Function

++

BasicInstinct


vendredi 7 juillet 2006 à 16:35:44 | Re : recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel)

larsene67

Ca, ca va m'allèger mon code ;)
Magnifique, merci beaucoup !!!!!

samedi 8 juillet 2006 à 09:47:59 | Re : recuperer une propriété d'un élément de collection au travers d'un paramêtre de fonction (VBA-excel)

us_30

Membre Club

Salut,

JE pense qu'il est inutile d'invoquer ScriptControl... Après vérification, la sub2 peut s'écrire uniquement par :

Private Function sub2(collec As Collection, Qualif As String)
   For i = 1 To collec.Count
         MsgBox CallByName(collec(i), Qualif, VbGet)
   Next i
End Function

cela évite de passer par le language VBScript, pour revenir à VBA...

Amicalement,

Us.




Cette discussion est classé dans : machin, collection, equipe, collec, qualif


Répondre à ce message

Sujets en rapport avec ce message

Procedure stockée [ par sonia1 ] Je fais un programme qui permet de gérer les collections de fèves. L'interface est sous Visual Studio 2005 en vbnet et les données sous SQL SERVER 200 Trier alphabetiquement les objets d'une collection [ par ggcourtois ] Bonjour,J'aimerais savoir comment trier les objets d'une collection par ordre alphabétique.Pour plus d'informations :-Le nom de ma colletion : _collec Order By avec Pivot [ par loic38760 ] Bonjour,Je developpe actuellement un projet et je rencontre un probleme avec un tri sur une requete utilisant PIVOTtransform count(panne)select numéro Changer 1 propriete d'1 item dans 1 collection [ par Dagnir ] Bonjour, je travaille en VB 2005J'ai par exemple une structure client comme celle-ci :Public structure Clientpublic Nom as stringpublic Prenom as stri [POO] Collections de classes et types personalisés [ par pekch ] Bonjour à tous,en fait je viens ici vous poser une question de débutant en objets...J'ai compris le concept, enfin je crois, mais dans la pratique, av bazar de mélange de collection, propriétés, conditions en vba-excel [ par larsene67 ] bon ,maintenant, je commence à patauger, si quelqu'un pouvait m'aider sur ce bout de code que je n'arrive pas à faire marcher:(suite de http://www.vbf trier une collection vba-excel [ par larsene67 ] bon, on va essayer une approche différente de mon problème: soit la collection suivante:(Dans class1:)Public nom, prénom, age(dans module1:)<font face grosse collection a trier [ par wardavb ] Bonjour a tous Voila etant debutante sur vb en Vs2005 ,je me trouve devant une multitude d'options concernant les collections ,les array ,dataset(j'ai Collection - Créer "Clé primaire" [ par peug ] Avé !J'ai une collection (d'objet) et j'ai maintenant besoin d'un ID unique. Mais avant de me lancer dans un algo tordu, peut être que quelqu'un a un Convertire nombre en clé de collection [ par hinomi ] Bonjour, je voudrai pouvoir ajouter des items dans une collection a partir d'un boucle for:for x = 1 to 50 ---next xet je voudrais savoir s'il est pos


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.