Détecter le premier chiffre positif dans une liste croissante

Salut la communauté !

J'aurai aimé savoir si vous aviez une méthode pour détecter le premier chiffre positive dans une liste croissante ?

Plus précisément son numéro de ligne pour savoir où initier une Boucle !

En effet, on m'a demandé de faire un code pour lettrer automatiquement un fichier de +130k lignes dont 90% sont des débits (donc des chiffres négatifs en colonne solde)

Alors j'ai bien essayé un code :

Dim € as currency, v as long, c as range
v = 0
€ = 0.01
Do while v = 0
    Set c = Thisworkbook.sheets(1).columns(6).find(€)
    if not c is nothing then v = c.row: exit do
    € = € + 0.01
Loop

Mais sa prend 3 plombs :3

Merci d'avance pour votre aide!

bonjour,

une possibilité en pièce jointe.

Nota : j'ai fait avec des entiers mais ça n'a aucune importance : >0 détecte tout nombre positif.

A+

9juice.xlsm (20.85 Ko)

Salut galopin et merci pour ton retour !

Je regarde sa Lundi (au taff) et je reviendrais vers toi

Bonjour à tous,

au plus court :

lig = Application.Match(0, Columns(6), 1)
lig = lig - (Cells(lig, 6) < 0)

ou bien :

lig = Application.Match(0, Columns(6), 1) + 1

si commencer sur une valeur 0 ne t'intéresse pas plus que ça, comme je me doute.

eric

PS : il peut y avoir des textes ou des cellules vides au-dessus, ça ne le trouble pas.

Bonjour à vous deux !

Salut le Forum !

Merci pour vos retours, les deux méthodes fonctionnent et sont bien plus rapide que la mienne x) !

Je vais m'arrêter sur la méthode d'Eriiic !

Encore merci !

Rechercher des sujets similaires à "detecter premier chiffre positif liste croissante"