la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet donc;
la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet donc;
la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet donc;
-----Message d'origine-----
Salut Charles! :O)la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
euh.... quoi ?! :Oo
64k (65355 octets) c'est beaucoup plus qu'il n'en faut
n'importe quel "Objet"..Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet
Tu veux faire un tableau pour chacun des Types que tu as
Peux-tu nous faire un bref survol de ces variables, de
relations pouvant exister entre ces variables ?
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
Salut Charles! :O)
la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
euh.... quoi ?! :Oo
64k (65355 octets) c'est beaucoup plus qu'il n'en faut
n'importe quel "Objet"..
Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet
Tu veux faire un tableau pour chacun des Types que tu as
Peux-tu nous faire un bref survol de ces variables, de
relations pouvant exister entre ces variables ?
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
Salut Charles! :O)la capacité des "Type" semble très limitée; Message
d'erreur "Compile Error : Fixed or static data can't be
larger than 64k".
euh.... quoi ?! :Oo
64k (65355 octets) c'est beaucoup plus qu'il n'en faut
n'importe quel "Objet"..Mes matrices ont une taille de (1 to 7,
1 to 500) soit une matrice par "Type"; aucun interet
Tu veux faire un tableau pour chacun des Types que tu as
Peux-tu nous faire un bref survol de ces variables, de
relations pouvant exister entre ces variables ?
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
Ok c'est plus clair.
Tes tableaux font 28000 octets chacun il est donc normal
capacité de ceux-ci.. Tu devras (comme tu l'as mentionné)
classes.
Voici un exemple de ton Type sous forme de classe (ajoute
classe à ton projet) :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Long, ByRef y As
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Long, ByRef y As
As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Long, ByRef y As
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Long, ByRef y As
As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Long, ByRef y As
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Long, ByRef y As
As Double)
m_dTableau3(x, y) = dValue
End Property
'***
La classe s'utilise ainsi :
'***
Option Explicit
Private Sub Main()
Dim cat1 As CCategorie1
Set cat1 = New CCategorie1
cat1.Tableau1(3, 4) = 5#
Debug.Print cat1.Tableau1(3, 4)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
Ok c'est plus clair.
Tes tableaux font 28000 octets chacun il est donc normal
capacité de ceux-ci.. Tu devras (comme tu l'as mentionné)
classes.
Voici un exemple de ton Type sous forme de classe (ajoute
classe à ton projet) :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Long, ByRef y As
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Long, ByRef y As
As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Long, ByRef y As
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Long, ByRef y As
As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Long, ByRef y As
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Long, ByRef y As
As Double)
m_dTableau3(x, y) = dValue
End Property
'***
La classe s'utilise ainsi :
'***
Option Explicit
Private Sub Main()
Dim cat1 As CCategorie1
Set cat1 = New CCategorie1
cat1.Tableau1(3, 4) = 5#
Debug.Print cat1.Tableau1(3, 4)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
Ok c'est plus clair.
Tes tableaux font 28000 octets chacun il est donc normal
capacité de ceux-ci.. Tu devras (comme tu l'as mentionné)
classes.
Voici un exemple de ton Type sous forme de classe (ajoute
classe à ton projet) :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Long, ByRef y As
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Long, ByRef y As
As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Long, ByRef y As
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Long, ByRef y As
As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Long, ByRef y As
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Long, ByRef y As
As Double)
m_dTableau3(x, y) = dValue
End Property
'***
La classe s'utilise ainsi :
'***
Option Explicit
Private Sub Main()
Dim cat1 As CCategorie1
Set cat1 = New CCategorie1
cat1.Tableau1(3, 4) = 5#
Debug.Print cat1.Tableau1(3, 4)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
> je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois en
terme d'occupation mémoire);
> je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois en
terme d'occupation mémoire);
> je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois en
terme d'occupation mémoire);
-----Message d'origine-----je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois
terme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
Double
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
Double
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
Double
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long au
étant que les systèmes actuels sont optimisé pour le 32
bus de données, etc..) cela évite des convertions
l'autre étant donnée que le système utilise un format sur
façon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois
terme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
Double
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
Double
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
Double
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long au
étant que les systèmes actuels sont optimisé pour le 32
bus de données, etc..) cela évite des convertions
l'autre étant donnée que le système utilise un format sur
façon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je crois
terme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
Double
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
Double
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
Double
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
dValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long au
étant que les systèmes actuels sont optimisé pour le 32
bus de données, etc..) cela évite des convertions
l'autre étant donnée que le système utilise un format sur
façon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
-----Message d'origine-----
J'obtenais l'erreur suivante : "Compile error :ByRef
Argument type mismatch" mais entre temps je crois avoir
compris; je déclarais x et y au sein de ma Sub Main() et
non en publique d'où le mismatch...
Ceci dit, tu me conseilles de les déclarer As Long toutes
mes variables donc. Jusqu'à présent les indices de
qui augmentent avec un pas de 1 je les déclarais en
Integer et toutes les autres variables en Double.
Merci
Charles-----Message d'origine-----je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je
enterme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
erreur ?
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long
lieu de Integerétant que les systèmes actuels sont optimisé pour le 32
bits (processeur,bus de données, etc..) cela évite des convertions
inutiles d'un type àl'autre étant donnée que le système utilise un format
32 bits de toutefaçon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
.
-----Message d'origine-----
J'obtenais l'erreur suivante : "Compile error :ByRef
Argument type mismatch" mais entre temps je crois avoir
compris; je déclarais x et y au sein de ma Sub Main() et
non en publique d'où le mismatch...
Ceci dit, tu me conseilles de les déclarer As Long toutes
mes variables donc. Jusqu'à présent les indices de
qui augmentent avec un pas de 1 je les déclarais en
Integer et toutes les autres variables en Double.
Merci
Charles
-----Message d'origine-----
je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je
en
terme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
erreur ?
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
As Integer) As
Double
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
As Integer, ByRef
dValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
As Integer) As
Double
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
As Integer, ByRef
dValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
As Integer) As
Double
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
As Integer, ByRef
dValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long
lieu de Integer
étant que les systèmes actuels sont optimisé pour le 32
bits (processeur,
bus de données, etc..) cela évite des convertions
inutiles d'un type à
l'autre étant donnée que le système utilise un format
32 bits de toute
façon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
.
-----Message d'origine-----
J'obtenais l'erreur suivante : "Compile error :ByRef
Argument type mismatch" mais entre temps je crois avoir
compris; je déclarais x et y au sein de ma Sub Main() et
non en publique d'où le mismatch...
Ceci dit, tu me conseilles de les déclarer As Long toutes
mes variables donc. Jusqu'à présent les indices de
qui augmentent avec un pas de 1 je les déclarais en
Integer et toutes les autres variables en Double.
Merci
Charles-----Message d'origine-----je code ne marche pas si je déclare les
variables x et y comme Integer mais marche quand je les
declare comme Variant (ce qui n'est pas génial je
enterme d'occupation mémoire);
Qu'entends-tu par "ne marche pas" ? Tu obtiens une
erreur ?
j'ai essayé ceci et ça fonctionne :
'***
' CCategorie1 - Module de classe
Option Explicit
Private m_dTableau1(1 To 7, 1 To 500) As Double
Private m_dTableau2(1 To 7, 1 To 500) As Double
Private m_dTableau3(1 To 7, 1 To 500) As Double
Public Property Get Tableau1(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau1 = m_dTableau1(x, y)
End Property
Public Property Let Tableau1(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau1(x, y) = dValue
End Property
Public Property Get Tableau2(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau2 = m_dTableau2(x, y)
End Property
Public Property Let Tableau2(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau2(x, y) = dValue
End Property
Public Property Get Tableau3(ByRef x As Integer, ByRef y
As Integer) AsDouble
Tableau3 = m_dTableau3(x, y)
End Property
Public Property Let Tableau3(ByRef x As Integer, ByRef y
As Integer, ByRefdValue As Double)
m_dTableau3(x, y) = dValue
End Property
'***
Note que personnellement, je conserverais le type Long
lieu de Integerétant que les systèmes actuels sont optimisé pour le 32
bits (processeur,bus de données, etc..) cela évite des convertions
inutiles d'un type àl'autre étant donnée que le système utilise un format
32 bits de toutefaçon..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
Le français se refait une beauté, parlons en :
http://www.orthographe-recommandee.info/
.
.
Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
-----Message d'origine-----
Hello,
Tu peux gérer l'initialisation des données dans
classe:
Private Sub Class_Initialize()
'Initialisation des données
Erase MonTableau
End Sub
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Charles" a écrit
de news:472f01c47fdb$47640880$Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
.
-----Message d'origine-----
Hello,
Tu peux gérer l'initialisation des données dans
classe:
Private Sub Class_Initialize()
'Initialisation des données
Erase MonTableau
End Sub
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Charles" <anonymous@discussions.microsoft.com> a écrit
de news:472f01c47fdb$47640880$a401280a@phx.gbl
Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
.
-----Message d'origine-----
Hello,
Tu peux gérer l'initialisation des données dans
classe:
Private Sub Class_Initialize()
'Initialisation des données
Erase MonTableau
End Sub
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Charles" a écrit
de news:472f01c47fdb$47640880$Avant d'utiliser les modules de classes, j'initialisais
mes matrices de la façon suivante :
Dim Tableau1 (1 to 7) as double
Erase Tableau1
Comment faire maintenant pour initialiser cat1.tableau1?
.
> Erase cat1.Tableau1?
Il y a une étape que je n'ai pas dû saisir!
> Erase cat1.Tableau1?
Il y a une étape que je n'ai pas dû saisir!
> Erase cat1.Tableau1?
Il y a une étape que je n'ai pas dû saisir!