Ttypes de données personnalisé

Fermé
FloM73 - 6 mars 2008 à 19:39
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 - 7 mars 2008 à 23:45
Bonjour,
Pour comptabiliser des données issues d'un gros fichier, j'ai créé un type perso et plusieurs tableaux (5) correspondants à ce type :

Type Tableau
Mois as integer
Quantite as integer
Temps as date
...
end type

dim DonneeSud(99) as Tableau
dim DonneeNord(99) as Tableau
...

Mon problème c'est que je ne sais pas comment faire pour passer ces tableaux en variable pour les initialiser et les remplir alors je tappe le même code 5 fois avec un test devant genre :
if secteur = Sud then donneeSud(i).Mois = i+1 ; donneeSud(i).Quantité =donneeSud(i).Quantité +1 ...
if secteur = Nord then donneeNord(i).Mois = i+1...

Ce qui est extrèmement fastidieux ! Si quelqu'un pouvait m'indiquer la syntaxe pour pouvoir appeler une fonction qui rempli le tableau appelé, genre :
RempliTableau (QuelTableau)

Sub RempliTableau (QuelTableau)
QuelTableau(i).Mois= i + 1
QuelTableau(i).Quantite = a + b...
end sub

Ce serait une grande aide.
FloM73 (grande débutante en Excel VBA).

3 réponses

eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
6 mars 2008 à 20:49
Bonsoir,

tu peux le déclarer en tableau

dim DonneeSud(99,4) as Tableau

donnee(0,0).Mois = 2 sera la 1ère donnée mois du sud
donnee(0,1).Mois = 5 sera la 1ère donnée mois du nord
.....

Ou bien dans ton type ajouter un champ secteur as string
donnee(0).Secteur = "sud"
.....

eric
0
Mille mercis.

Je n'ai pas testé la deuxième solution (car je ne vois pas comment récupérer séparement les données de chaque secteur ensuite) mais la première méthode marche à merveille.

Grace à vous mon programme a subit aujourd'hui un régime drastique et ce n'était pas du luxe.

Il me reste un problème de format date mais ça c'est une autre question...

Florence.
0
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
7 mars 2008 à 22:03
tant mieux... :-)
n'oublie pas demettre en réolu...
Bonne continuation
eric
0
Je vais finir par avoir vraiment honte... on fait comment pour mettre résolu ?
Florence.
0
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
7 mars 2008 à 23:45
heuuu, ça doit etre en haut mais pas sûr que tu puisses si tu n'es pas inscrite
eric
0