Bonjour,
qu'entends-tu par "valeur environ égale à 100" ?
une valeur dans un intervalle (100 +/- x) ou la valeur la plus proche de 100 parmi les valeurs disponibles ?
voici 2 fonctions personnalisées correspondant à l'alternative ci-dessus.
Public Function RechercheIntervalle(v, r, bi, bs)
' RechercheIntervalle, renvoie le numéro de ligne ou de colonne, de la première valeur trouvée dans l'intervalle donné par v-bi% et v+bs% dans la plage r (1 dimension)
For Each c In r
If c.Value > v * (1 - bi) And c.Value < v * (1 + bs) Then
RechercheIntervalle = IIf(r.Rows.Count = 1, c.Column, IIf(r.Columns.Count = 1, c.Rows, "plage non valable"))
Exit Function
End If
Next
RechercheIntervalle = "non trouvé"
End Function
Public Function Rechercheppv(v, r)
'rechercheppv, renvoie le numéro de ligne ou de colonne de la valeur la plus proche de v trouvée dans la plage r (1 dimension)
For Each c In r
If vf = "" Then
vf = c: vc = IIf(r.Rows.Count = 1, c.Column, IIf(r.Columns.Count = 1, c.Row, "plage non valable"))
ElseIf Abs(c.Value - v) < Abs(vf - c) Then
vf = c
vc = IIf(r.Rows.Count = 1, c.Column, IIf(r.Columns.Count = 1, c.Row, "plage non valable"))
End If
Next
Rechercheppv = vc
End Function