imgKappa
Messages postés44Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention28 avril 2007
-
7 févr. 2007 à 10:52
imgKappa
Messages postés44Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention28 avril 2007
-
7 févr. 2007 à 12:15
Bonjour,
Je désirais créer un tableau en memoire, avec trois variables A B C type double
Mais la différence et que je puisse redimensionner ce tableau sans perdre les valeur déja enregistrées dans ce tableau
Je sais qu'il faut que j'utilise Redim, mais a part cela je ne vois pas comment ecrire
le tableau avec les trois variable
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 févr. 2007 à 11:28
Re,
Voici un petit exemple de tableau de Type.
Place ce code dans un Form et execute.
Option Explicit
Private Type Ligne
Op1 As Double 'premier nombre
Op2 As Double 'second nombre
Res As Double 'Produit résulant de op1 * op2
End Type
Private M_Tab() As Ligne
Private Sub Form_Load()
ReDim M_Tab(0) 'redimensionne le tableau
'Ajout de quelques element
Call AjoutElement(5, 25) 'tu auras juste a remplacer par les valeurs des textbox
Call AjoutElement(3, 15)
Call AjoutElement(25, 10)
'affichage de la somme des produit
MsgBox CalculSomme
End Sub
Private Sub AjoutElement(ByVal TmpOP1 As Double, ByVal TmpOP2 As Double)
'Ajoute un element de type ligne dans le tableau
Dim TmpElem As Ligne
TmpElem.Op1 = TmpOP1
TmpElem.Op2 = TmpOP2
TmpElem.Res = TmpOP1 * TmpOP2
'Ajoute l'element dans le tableau
M_Tab( UBound (M_Tab)) = TmpElem
'redimensionne le tableau sans perdre le contenu
ReDim Preserve M_Tab(UBound(M_Tab) + 1)
End Sub
Private Function CalculSomme() As Double
Dim i As Integer
'Parcours tout le tableau pour ajoute les produits
For i = LBound (M_Tab) To UBound(M_Tab) - 1
'C'est ubound(M_Tab) - 1 car le dernier element ne contient jamais rien
CalculSomme = CalculSomme + M_Tab(i).Res
Next
End Function
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 févr. 2007 à 11:01
Salut,
Il faut utiliser Preserve en plus de redim
Exemple:
Dim i As Integer
Dim M_Variables() As Double
ReDim M_Variables(2)
For i = 0 To 2
M_Variables(i) = i + 1
Next
ReDim Preserve M_Variables(3)
For i = 0 To 3
MsgBox M_Variables(i)
Next
imgKappa
Messages postés44Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention28 avril 2007 7 févr. 2007 à 11:09
Merci jrivet,
Mais ce que je cherche c'est la variable composée,
c'est a dire la viriable Tableau contient la viarable A, B, C en ligne
et apartir de la je rajoute des ligne au tableau.
Je ne sais pas si je suis assé clair, as facile de s'expliquer
Ou alors je fais fausse route en me servant de variable, je devrais utiliser un tableau,
alors , c'est encore plus la galere pour moi,
Car Dim Variable(1,2) cela me cause pas du tout,
je ne sais memes pas si on peut redimensionner, ni comment les lires
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 févr. 2007 à 11:14
Salut,
Non tu n'est pas tres clair.
les codes proposés ici devrait d'après ce que l'on comprend suffir.
Peu tu peu être donner un exemple plus concret alors.
NOTE: les tableaux peuvent très bien contenir des Classes, des Type, bref ce que tu veux. ensuite avec Redim PReserve, le contenu du tableau n'est pas perdu.
imgKappa
Messages postés44Date d'inscriptionvendredi 14 mars 2003StatutMembreDernière intervention28 avril 2007 7 févr. 2007 à 11:15
Explication du but,
Dans une forme je saisie 2 chiffre dans des zonne texte, je calcul le produit
et je stock dans un tableau en memoire les 2 chiffres colone 1 et colone 2 et le Produit dans colone 3
puis apres je fait la somme de la colone 3
Le probleme je vais repeter cette operation plusieur fois sans jamais savoir combien de fois,
c'est pour cela que je cherhce une solution avec tableau ou autre, je n'arrive pas deja a imagé en tete le fonctionnement,
donc je n'arrive pas par quel bout chercher
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 7 févr. 2007 à 11:18
Salut,
tu peux peu etre simplement stocke dans le tableau, le produit. et ensuite une fois ton tableau rempli, tu ajoute tout les éléments pour en resortir la somme.
Sinon tu peux passer par un Type.
Je te prépare un petit exemple.