Trouver la première cellule supérieure à une valeur de test [VBA]
Bonjour le club !
Je vais essayer d'être clair et concis:
> J'ai une valeur de test, que je veux trouver dans une feuille. (elle peut y être comme elle peut ne pas y être)
> Après avoir testé avec la méthode Find si l'objet range renvoyé est Nothing (donc valeur test non trouvée) je souhaiterais exécuter une ligne qui me permettrait de trouver la première cellule ayant une valeur supérieure à ma valeur test qui me renverrait un objet range comme la méthode Find.
(Afin par la suite de pouvoir insèrer une ligne avec ma valeur test au bon endroit).
Le but de cette partie de code est:
Si j'ai déjà la valeur test dans mon tableau, on récupère juste le n° de ligne. >Find suffit
Sinon, on récupère le n° de la ligne d'insertion, dès que l'on dépasse la valeur test. >Là je ne trouve pas! une sorte de Find conditionel ? (Ma valeur test est une variable numérique)
Une boucle suffit:
Code:
1 2 3 4 5 6
| For x= 2 to NbDeLignesTotal
If .Cells(x,1) > Test then
Ligne = x
Exit For
Endif
Next x |
mais j'essaie d'optimiser mon code sachant que les boucles c'est bien, mais ça prend beaucoup de cycles au final surtout sur des tableaux à 2XXX lignes, donc si je peux m'en passer... Sinon une méthode par approximations succécives pourrait être interressante, mais si une méthode toute faite qui tient sur une ligne existe, autant la prendre ! :)
Merci de m'exposer vos pistes :D
Bonne journée !