Bonsoir les amis,
Voici le nouveau code que j'ai tenté et c'est presque fonctionnel:
Code :
- Sub Rank()
- col = "A" 'colonne où se trouvent les valeurs à ranker
- rk = "B" 'colonne où les rangs seront affichés
- Lastrow = Range(col & Rows.Count).End(xlUp).Row
- For i = 14 To Lastrow 'ligne où se trouvent la première valeur à ranker
- If Range(col & i).Value <> "" Then 'si la cellule est vide alors rank la prochaine
- Range(rk & i).Formula = "=RANK(" & col & i & "," & col & ":" & col & ",1)"
- End If
- Next i
- End Sub
|
En effet, la macro fonctionne dans le sens où si une case est vide, elle ira vérifier la prochaine case. Le soucis intervient quand deux cases vides se suivent ... La macro va passer la première case essaiera de donner un rang à la seconde mais ne pourra pas car elle est vide. Résultat, sur excel, j'aurai #Value dans la case.
Quelqu'un aurait-il un moyen de rectifier la macro afin qu'elle passe à la prochaine case à chaque fois que la cellule est vide?
Milles mercis
Edit: problème réglé j'ai modifié la macro en conséquent
Message édité par Overdos3 le 28-10-2014 à 13:29:54