Bonjour ,
J’ai un grand nombre de tableau correspondant à des articles de catégories différentes.
Ex Articles_alimentaires_Cat1 , Articles_Ménager _Cat2 …
Ces différents tableaux d’articles ont une structure équivalente ce qui me permet d’implémenter des fonctions communes
Ex : Calcul_stock_dispo , Calcul_dimension_stock , Calcul_prix_stock , Revaloriser_prix_articles .
Je voudrais pouvoir modifier les tableaux par groupe sans passer par un appel direct du type Calcul_stock_dispo (Articles_alimentaires_Cat1 )
J’ai pensé à des structures du type :
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 Array Livraison_Mardi = (Articles_alimentaires_Cat1 , Articles_alimentaires_Cat3 ) Array Livraison_Mardi (Articles_alimentaires_Cat4 , Articles_alimentaires_Cat3 ) Le problème cest que ça ne marche pas . Jai implémenter une méthode du type : Public Articles_alimentaires_Cat1 ( ) as string Public Articles_alimentaires_Cat2 ( ) as string Public Articles_alimentaires_Cat3 ( ) as string Sub def_structure Dim MyClasses_M As New Collection MyClasses_M.Add Articles_alimentaires_Cat3 MyClasses_M.Add Articles_alimentaires_Cat1 MyClasses_M.Add Articles_alimentaires_Cat3 For each catégorie in MyClasses_M Ret = Revaloriser_prix_articles ( catégorie , 2.5 ) Next End sub
Ca marche pour les procédures qui lisent les valeurs ( ex calcul de stock ) mais pour les fonctions qui modifient les valeurs , le tableau public Articles_alimentaires_CatN n’est pas modifié. Catégorie correspond bien à la copie de Articles_alimentaires_CatN mais la variable globale n’est pas modifés.
Je précise que ma fonction Revaloriser_prix_articles est définie de la façon suivante :
Pour une fonction qui ne fait que lire les données sans les modifier ça marche : ex
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public function Revaloriser_prix_articles ( byref tab_articles as variant , augmentation as single ) For N = 1 to ubound ( tab_articles ) tab_articles ( N , 4) = tab_articles ( N , 4) * augmentation Next Revaloriser_prix_articles = « « End function
Pour reformuler ma question,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public function Volumes_stock ( tab_articles as variant ) as single Volumes_stock = 0 For N = 1 to ubound ( tab_articles ) Volumes_stock = Volumes_stock + ( tab_articles ( N , 6) * tab_articles ( N , 4) * tab_articles ( N , 3) * tab_articles ( N , 8 )) Next End function
est il possible de construire un tableau , une structure , une collection qui contiendrait des nom de Tableaux défini ailleurs?
Partager