Bonjour, une question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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