Type contrainte
id As String
type As String
correct() As String
correctCommentaire As String
avertissement() As String
avertissementCommentaire As String
erreur() As String
erreurCommentaire As String
End Type
Sub chargeEnDictionnaireContraintes()
Dim LineData As String
Dim tempTabStr() As String
Dim c As contrainte
Dim contraintes
Dim iFilenum
Set contraintes = CreateObject("Scripting.Dictionary")
Open "test.csv" For Input As #iFilenum
Do Until EOF(iFilenum)
Line Input #iFilenum, LineData
tempTabStr = Split(LineData, "_")
c = parseContrainte(tempTabStr(1))
contraintes.Add tempTabStr(0), c
Loop
MsgBox contraintes("REQ1").id
Close #iFilenum
End Sub
Quand je l’exécute, j'ai l'erreur suivante :
Ma question est donc est-ce possible d'utiliser un type personnel (créé par soi-même) dans un dictionnaire (dictionary) ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 20 févr. 2013 à 12:48
Bonjour,
Un type de type structure ne peut être utilisé que dans le projet où il est déclaré, le fait de vouloir envoyer en-dehors de ce projet (comme par exemple dans une Collection ou un élément COM/OLE (Dictionary par exemple) ) n'est pas possible.
v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 20 févr. 2013 à 16:00
Bonjour,
Pour déclarer une classe, il faut ajouter un nouveau module : Module de classe
Donc, non, contrairement à .NET, VBA ne permet de déclarer une classe (structure et méthodes) ailleurs que dans un module de classe portant le nom de la classe concernée.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 20 févr. 2013 à 12:42
Bonjour,
éclaire ma lanterne :
- c'est quoi, parsecontrainte ?
- sous quoi développes-tu, exactement ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Bonjour,
éclaire ma lanterne :
- c'est quoi, parsecontrainte ?
- sous quoi développes-tu, exactement ?
- C'est une méthode qui parse une ligne et renvoie un objet de type contrainte (le type que j'ai mis au début de mon code).
- Je suis dans l'interface permettant de faire du VBA dans Word (J'y ai accès par l'onglet développeur de word puis Visual Basic)
Bonjour,
Un type de type structure ne peut être utilisé que dans le projet où il est déclaré, le fait de vouloir envoyer en-dehors de ce projet (comme par exemple dans une Collection ou un élément COM/OLE (Dictionary par exemple) ) n'est pas possible.
Il faut donc que je créé une classe et que j'instancie un objet ? Est-ce possible de faire ça dans un même module sur l'interface VBA proposée par Word ?
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?