[vb2005] Comment sortir le rang d'une variable parmi une liste

Comment sortir le rang d'une variable parmi une liste [vb2005] - VB/VBA/VBS - Programmation

Marsh Posté le 25-01-2009 à 19:53:40    

Bonjour
 
je suis face à un petit problème.
 
J'ai un tableau avec 4 valeurs. (ex v1 = 10, v2 = 25, v3 = 45, v4 = -5)
 
je cherche la fonction (le moyen) du genre :
 
var = rang (v1,v1-v4)
 
dans l'exemple, ça doit me retourner var = 3
 
car si l'on classe par ordre décroissant les valeurs, v1 est en rang 3
 
Sous excel, il y a la fonction qui le fait très bien mais quid sous vb2005 ???
 
Merci beaucoup

Reply

Marsh Posté le 25-01-2009 à 19:53:40   

Reply

Marsh Posté le 26-01-2009 à 01:30:48    

Un tableau ?
 
En basic, ce que l'on nomme habituellement un tableau se déclare avec l'instruction "Dim" et s'utilise avec des indices entre parenthèses. Par exemple :

Dim tb_nb_jours_in_mois(1 To 12)
tb_mois(1) = 31
tb_mois(2) = 28
tb_mois(3) = 31

Dans cet exemple, si vous vouliez connaître l'indice du mois qui a 31 jours, il y aurait plusieurs réponses possibles, et c'est peut-être pour cela qu'i l n'existe pas de fonction qui le fasse, à moins que ce ne soit parce qu'il est très simple de faire une petite fonction pour trouver le premier qui répond à la question :

Function trouve_indice_du_mois()
   trouve_indice_du_mois = 0
   For i = 1 to 12
      If (tb_nb_jours_in_mois(i) = 31) Then
        trouve_indice_du_mois = i
        Return
      End If
   Next
End Function


Reply

Marsh Posté le 26-01-2009 à 04:14:52    

Merci pour cette reponse  
 
sauf que je pense que vous n'avez pas saisi mon dileme
 
Je ne connais pas les valeurs du tableau.
Je cherche en revanche si la valeur de tab(1) est la plus grande (1), la seconde, la 3eme ou la 4eme
si la valeur de tab(2) ets la +grande, la seconde etc etc
 
comme le fait la fonction RANG de excel.........

Reply

Sujets relatifs:

Leave a Replay

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