Bonjour,
j'ai à disposition dans une feuille d'un classeur Excel une extraction d'une base de données
et j'essaye de charger ces données dans une table VBA (type utilistateur).
voici la structure des types utilisés (toute remarque sera la bienvenue) :
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 Public Type TVENTES VV(1 To 2, 1 To 3, 1 To 12) As Double VU(1 To 2, 1 To 3, 1 To 12) As Double End Type Public Type ITEM EAN As Double GROUP As String MANUF As String BRAND As String PROP As String LIC As String CAT As String VENTES As TVENTES End Type Public Type TOTITEM NBE As Integer ITEM(1 To 50) As ITEM End Type
Lorque que je charge mes données dans la table TOTITEM tout se passe bien si le nombre de lignes maximum du type TOTITEM n'est pas trop élevé.
exemple :
Comment puis-je contourner ce problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Public Type TOTITEM NBE As Integer ITEM(1 To 50) As ITEM End Type '=>OK Public Type TOTITEM NBE As Integer ITEM(1 To 50) As ITEM End Type '=>pas OK. un message d'erreur s'affiche : "Compile error : Fixed or static data can't be larger than 64K"
Un grand merci d'avance!!
Pour info voici la procédure que j'utise pour charger la table DB de type TOTITEM (déclarée en public) :
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 Public Sub LOAD_DB() Dim I, J As Integer DB.NBE = 0 I = 5 While I <= 54 DB.NBE = DB.NBE + 1 DB.ITEM(DB.NBE).EAN = Range("A" & I).Value DB.ITEM(DB.NBE).GROUP = Range("B" & I).Value DB.ITEM(DB.NBE).MANUF = Range("C" & I).Value DB.ITEM(DB.NBE).BRAND = Range("D" & I).Value DB.ITEM(DB.NBE).PROP = Range("E" & I).Value DB.ITEM(DB.NBE).LIC = Range("F" & I).Value DB.ITEM(DB.NBE).CAT = Range("G" & I).Value For J = 1 To 12 DB.ITEM(DB.NBE).VENTES.VV(1, 1, J) = Cells(I, J + 7) Next J I = I + 1 Wend End Sub
Partager