Recherche et Recuperation dans un tableau

cs_jot Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 13 octobre 2005 - 13 oct. 2005 à 13:31
cs_jot Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 13 octobre 2005 - 13 oct. 2005 à 16:19
Bonjour tout le monde,
voila, j'ai un tableau ou sont stockés des produits (A,B,B,B,A,A,C,C,C,A,B,B,A.....), je souhaite recuperer dans un autre tableau chaque produit (son nom) et le nombre de fois qu'il apparait dans le 1er tableau.
Merci beaucoup pour votre aide

4 réponses

acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
13 oct. 2005 à 13:47
dim xnbA as integer
dim xnbB as integer
dim xnbC as integer
dim xi as integer

dim xTableau1()
dim xTableau2()

' Remplissage du Tableau1

For xi = 0 to UBound(xTableau1)
If xTableau(xi) = "A" then
xnbA = xnbA + 1
ElseIf xTableau(xi) = "B" then
xnbB = xnbB + 1
Else
xnbC = xnbC + 1
End If
Next xi

'Remplissage du Tableau2
0
cs_jot Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 13:57
Merci, mais en fait dans le 1er tableau y a pas que des A,B,C, y a beaucoup de produits, alors je voulais par exemple chercher combien de fois un produit (sans le mentionner, sans etre fixe) se repete et sauvegarder ce produit avec le nombre de fois qu'il apparait dans le 1er tableau
MERCI
0
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 juin 2006
13 oct. 2005 à 15:30
bonjour,

Voici un algo :

Dim NbProduit As Integer
Dim Prod_Nb()
Dim i, j, k As Integer
Dim Nouv As Boolean

' on va compter le nombre de produits distincts
' boucle sur chaque produit
NbProduit = 0
For i = 0 To UBound(produits) - 1
' ce produit a-t-il déjà été rencontré parmi les produits déjà scrutés ?
Nouv = True ' par défaut on considère que non
For j = 0 To i - 1
If produits(j) produits(i) Then Nouv False
Next j
If Nouv Then NbProduit = NbProduit + 1
Next i

' on dimensionne le tableau destiné à recevoir les calculs
' il est a 2 dimensions, la 1ère contient le nom, la 2ème dimension contient le nbre d'occurences
ReDim Prod_Nb(NbProduit, 2)

' on rempli la 1ère dimension du tableau final : le nom des articles
k = 0
For i = 0 To UBound(produits) - 1
' ce produit a-t-il déjà été rencontré parmi les produits déjà scrutés ?
Nouv = True ' par défaut on considère que non
For j = 0 To i - 1
If produits(j) produits(i) Then Nouv False
Next j
' nouveau produit donc on renseigne son nom dans le tableau final
If Nouv Then
Prod_Nb(k, 0) = produits(i)
k = k + 1
End If
Next i

' on calcule l'occurence de chaque produit
For i = 0 To UBound(Prod_Nb) - 1
For j = 0 To UBound(produits) - 1
If produits(j) Prod_Nb(i, 0) Then Prod_Nb(i, 1) Prod_Nb(i, 1) + 1
Next j
Next i

' affichage
For i = 0 To UBound(Prod_Nb) - 1
MsgBox "Produit " & Prod_Nb(i, 0) & " rencontré " & Prod_Nb(i, 1) & " fois"
Next i


-- stabe --
0
cs_jot Messages postés 4 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 13 octobre 2005
13 oct. 2005 à 16:19
Parfait, Merci beaucoup
0
Rejoignez-nous