|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre actif
![]() Date d'inscription: novembre 2005
Messages: 184
|
Bonjour,
Est-ce qu'il existe une structure en VBA, où je pourrais avoir une association clé - valeur? Parce que par exemple avec un tableau déclaré de cette manière: Code :
Dim ListeNumColonnes As Variant ListeNumColonnes = Array(-1, -2, 4, -3, 5, 1) mais j'aimerais pouvoir par exemple avec un tableau de la forme ListeNumColonnes2(12) = 13 ListeNumColonnes2(3) = 4 par exemple pour faire une correspondance entre une clé et une valeur. Je vous remercie :-) |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
|
Je ne voi pas du tout ce que tu cherche a faire, visiblement tu sais un peu près te servire des tableau, au cas ou un lien ici
http://silkyroad.developpez.com/vba/tableaux/ Après ta deuxième parti je ne vois pas du tout esaye ca Code :
'etc.... 'et pour lire une valeur msgbox ListeNumColonnes2(12)+ListeNumColonnes2(3) Code :
Dim ListeNumColonnes() As integer redim ListeNumColonnes2(1to2,1 to 12) ListeNumColonnes2(1,12) = 13 ListeNumColonnes2(1,12) = 4 Je ne sais pas si cela t'aide si ce n'est pas le cas il faudra être un peu plus précis (au passage en faisant 1 to N tu na pas de tableau(0) les indice commence a 1, tu peu commencer a 5 si ca t'amuse |
|
|
|
|
|
#3 (permalink) |
|
Membre régulier
![]() |
Bonjour
Il suffit de créer une collection pour pourvoir associer une cle et une valeur. L'exemple est tire de l'aide de vba permettra facilement de répondre au besoin de thierry_b ! Code :
Sub ClassNamer() Dim MyClasses As New Collection ' Crée un objet Collection. Dim Num ' Compteur permettant d'individualiser les clés. Dim Msg As String ' Variable devant contenir la chaîne d'invite. Dim TheName, MyObject, NameList ' Variants devant contenir les données. Do Dim Inst As New Class1 ' Crée une nouvelle instance de Class1. Num = Num + 1 ' Incrémente d'une unité la valeur de Num, puis ' obtient un nom. Msg = "Veuillez affecter un nom à cet objet." & Chr(13) _ & "Appuyez sur Annuler pour afficher les noms présents" _ & "dans la collection." TheName = InputBox(Msg, "Nommez les éléments de Collection") Inst.InstanceName = TheName ' Place le nom dans l'instance de ' l'objet. ' Si l'utilisateur a saisi un nom, ajoute celui-ci à la ' collection. If Inst.InstanceName <> "" Then ' Ajoute l'objet nommé à la collection. MyClasses.Add item := Inst, key := CStr(Num) End If ' Efface la référence en cours en prévision de la suivante. Set Inst = Nothing Loop Until TheName = "" For Each MyObject In MyClasses ' Crée une liste des noms. NameList = NameList & MyObject.InstanceName & Chr (13) Next MyObject ' Affiche la liste des noms dans une zone de message. MsgBox NameList, , "Noms des instances présentes dans la" _ & "collection MyClasses" For Num = 1 To MyClasses.Count ' Supprime le nom de la collection. MyClasses.Remove 1 ' Puisque les collections sont ' réindexées automatiquement, ' supprime le premier membre à Next ' chaque itération. End Sub
|
|
|
|
|
|
![]() |
||
structure association clé - valeur
|
||
| Outils de la discussion | |
|
|