Bonsoir,
Dans un tableau j'ai des valeurs qui sont toutes des valeurs décimales, parfois certaines sont de la forme 4.5E-05 quand les valeurs sont très petites.
Avec la fonction .Find, je souhaite aller chercher le numéro de ligne et colonne de la valeur la plus petite d'une plage de valeur. J'ai donc repris certains codes trouvés sur la toile et adapté pour mes besoins, ce qui donne:
Le problème, c'est que j'ai toujours un message "pas trouvé" qui apparaît. Je pensais que ça vient du fait que mes données dans mon tableau sont au format numérique, parfois avec des puissances de 10 ( E-05...) et que la fonction Find va prendre la valeur dans la variable PlusPetiteValeur et la comparer comme une String avec la valeur numérique exacte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub recherche() Dim celluletrouvee As Range Dim ligne As Integer Dim col As Integer Dim PlusPetiteValeur As Single Sheets("O2").Select PlusPetiteValeur = Application.WorksheetFunction.Min(Range("B6:BK8")) Set celluletrouvee = Range("B6:BK8").Find(PlusPetiteValeur) If celluletrouvee Is Nothing Then MsgBox ("pas trouvé") Else ligne = celluletrouvee.Row col = celluletrouvee.Column MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col) End If End Sub
J'ai donc modifié mon tableau en arrondissant toutes mes données avec ROUND afin de ne plus avoir de puissances de 10, mais c'est toujours le même problème...
Quelqu'un aurait-il une idée?
Merci!
Partager