une variable tableau public dans une instance de classe
Bonjour, une question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
'dictionnaire de forme et de Contenu des perimetres
Function DicoPeriContents() As Dictionary
'variables
Dim AllRange As Range
Dim MyRange As Range
Dim MyDico As New Dictionary
Dim My_Perimetre As Perimetres
Dim xlsheet As Worksheet
Dim NbC As Long, Line As Long
Dim i As Long
'definition sheet
Set xlsheet = ThisWorkbook.Worksheets("Parametrages")
'Definition du ranges
With xlsheet
'NbC et NbL
Line = .UsedRange.Find("PnL").Row
NbC = .Cells(Line, .Columns.Count).End(xlToLeft).Column
Set AllRange = .Range(.Range("NomPerimetre").Offset(, 1), .Range("NomPerimetre").Offset(, NbC - 1))
For Each MyRange In AllRange
If Not MyDico.Exists(MyRange.Value) Then
Set My_Perimetre = New Perimetres
My_Perimetre.CadreName = MyRange.Offset(-1, 0).Value
My_Perimetre.Name = MyRange.Value
My_Perimetre.Format = MyRange.Offset(-2).Value
My_Perimetre.TabContents = Application.Transpose(.Range(MyRange.Offset(1), MyRange.End(xlDown)).Value)
MyDico.Add MyRange.Value, My_Perimetre
End If
Next MyRange
End With
Set DicoPeriContents = MyDico
Set MyDico = Nothing
End Function |
Pourquoi est il impossible de creer une variable public de type tableau dans une instance de classe .
J'ai declaré la variable contents dans ma classe Perimetres, mais je suis obligé de la declarer en variant, résultat quand contents est constitué que d'un element ce n'est pas un tableau , de plus si je veux le parcourir je ne peux pas il me dis qu'il y a un probleme au niveau du get et du let non instancié et ceci , que je crais la lecture ou l'ecriture ou non.
J'ai trouvé une solution en transferant dans un autre tableau et en metant une condition si la dimension est de 1 mais bon , je trouve bisard , si quelqu'un a une reponse je suis preneur merci