Classement de données en VBA

Résolu/Fermé
Cedric_hess Messages postés 28 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 24 mai 2016 - 23 mai 2016 à 11:37
Cedric_hess Messages postés 28 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 24 mai 2016 - 23 mai 2016 à 13:27
Bonjour,

j'ai cette formule qui me fait le classement des données par valeur sans sauter les valeur comme fait la fonction de excel , voila la fonction
=IF(D2=D3,E2,E2+1)


ce que j'essaye de faire est de transformer cette fonction en code vba , voila mon essaye :
Sub rank()
Dim i As Integer

Cells(2, 5) = 1
For i = 2 To WorksheetFunction.CountA(Columns(4))
If Cells(i, 4).Value = Cells(i + 1, 4).Value Then
Cells(i, 5).Value = Cells(i, 5).Value
Else: Cells(i, 5).Value = Cells(i, 5).Value + 1
End If
Next i

End Sub

mais je recois que des un dans toute la colonne , quelqu'un peut m'aider pour trouver ou est le probleme s'il vous plait et merci d'avance

1 réponse

Cedric_hess Messages postés 28 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 24 mai 2016
23 mai 2016 à 13:27
Rebonjour a tous

si quelqu'un est interessé par la solution enfaite fallait just changer l'ordre et voila le code qui marche :

Sub rank()
Dim i As Integer

Cells(2, 5) = 1
For i = 2 To WorksheetFunction.CountA(Columns(4))
If Cells(i, 4).Value = Cells(i + 1, 4).Value Then
Cells(i+1, 5).Value = Cells(i, 5).Value
Else: Cells(i+1, 5).Value = Cells(i, 5).Value + 1
End If
Next i

End Sub
0