Compter mots sans répétition

Compter mots sans répétition - VB/VBA/VBS - Programmation

Marsh Posté le 08-07-2009 à 16:19:01    

Bonjour à tous,
 
Voilà, j'aurai besoin d'un coup de main afin de perfectionner une macro.
En effet, j'ai une liste qui contient plusieurs terme
exple:
pomme
pomme
banane
poire
banane
pomme
orange
poire
poire
banane

 
Comme vous pouvez le voir cette liste comporte plusieurs fois certains termes, comme "pomme"
J'utilise donc une macro afin de compter chacun de ces termes

Citation :

Sub Test()
For x = 16 To 30
a = Cells(x, 2)
'If Cells(x, 1) = "type" Then
'GoTo retour
'Else
y = y + (a & " * " & Application.WorksheetFunction.CountIf(Range("B16:B30" ), a)) & Chr(13)
'End If
'retour:
Next
MsgBox (y)
End Sub


 
Cependant il va me répéter à chaque fois qu'il y a 3*pomme à chaque mots "pomme" et ainsi pour chacun des fruits du genre:
pomme * 3
pomme * 3
banane * 3
poire * 3
banane * 3
pomme * 3
orange * 1
poire * 3
poire * 3
banane * 3

La question est donc: est-il possible d'éviter de lui faire faire des répétitions inutiles?
 
Merci de votre aide, et je continue à chercher dans mon coin
I folima Elda


Message édité par I folima Elda le 08-07-2009 à 16:51:06
Reply

Marsh Posté le 08-07-2009 à 16:19:01   

Reply

Marsh Posté le 09-07-2009 à 10:15:25    


Si je ne me trompe pas, il y a une fonction Excel qui fait cela tout seul pour les nombres ("FREQUENCE" ).
Tu peux aussi utiliser la fonction Excel NB.SI(zone;"Pomme" ) qui te donne automatiquement le nombre de cellules qui contiennent "Pomme"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed