Ttypes de données personnalisé
FloM73
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
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).
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).
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
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-
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.
-
-
tant mieux... :-)
n'oublie pas demettre en réolu...
Bonne continuation
eric -
heuuu, ça doit etre en haut mais pas sûr que tu puisses si tu n'es pas inscrite
eric