Trouver valeur supérieure avec la fonction Find ?

J'ai le même problème que tout à l'heure cette fois je n'ai plus la première valeur non nulle mais j'ai la ligne correspondante à la première valeur non nulle peut importe le nombre que je fixe dans la boite de dialogue

Si on regarde votre tableau, vous tapez 0,006660 dans l'inputbox, la première valeur supérieur est 0,009990 en est en ligne 4

En M8 vous voulez 4 ou autre chose ?

Oui dans ce cas là je veux 4 mais le problème est que peut importe la valeur que je place dans l'inoutbox j'aurai toujours 3 en M8, même en plaçant une valeur qui n'est pas dans la colonne j'aurai toujours 3

C'est le caractère décimal qui pose problème. Solution : BL = replace(BL, ".", ",")

8classeur1.xlsm (19.21 Ko)

en effet cette fois ça marche comme je le voulais je vous remercie bcp

Personnellement j'ai testé le code de Dan il fonctionne mais uniquement si on déclare BL as single.

Sinon la valeur de l'input box reste vide.

' Vous pouvez toujours faire un point d'arrête dans votre macro pour voir la valeur de BL
Dim BL As Single

BL = InputBox("Zoom à partir de quelle valeur:", "Zoom")

X = BL  ' ici le point d'arrêt

Oops pas vu la réponse Lol évidemment si vous avez des données en nombre à virgule dans excel et que vous tapez dans l'inputbox des nombres avec

comme séparateur le point c'est pas trés logique ! Faut gérer tout en point ou tout en virgule

@yal_excel : le fichier est en tableau structuré alors que probablement celui de l'utilisateur ne l'est pas. A mon avis, cela n'aide pas sauf si la définition des tableaux est identique. me bon...

En utilisant ce que Yal_excel mentionne, changez comme ceci

Dim cel As Range
Dim valeur As String
Dim BL
BL = InputBox("Zoom à partir de quelle valeur:", "Zoom")
With ActiveSheet
    For Each cel In .Range("F2:F" & .Range("F" & .Rows.Count).End(xlUp).Row)
        BL = Replace(BL, ",", ".")
        If cel > BL Then .Range("M8") = cel.Row: Exit Sub
    Next cel
End With

Cordialement

Je confirme que le programme marche mais j'aimerais attribuer le numéro de la lgine à une variable que je pourrai derrière uitliser

Je confirme que le programme marche mais j'aimerais attribuer le numéro de la lgine à une variable que je pourrai derrière uitliser

Dans le code,
- Définissez la variable tata --> Dim tata as integer (Attention qu'il va falloir en savoir plus sur l'endroit où est placé le code et où vous voulez utiliser la variable plus loin).
- puis changez cette ligne

If cel > BL Then tata = Cel.row : .Range("M8") = cel.Row: Exit Sub
Sub Zoom()

Dim feuille As Worksheet
Dim graphique As ChartObject
suppression_graphe_zoom
Dim cel As Range
Dim valeur
Dim PL As Integer

BL = InputBox("Zoom à partir de quelle valeur:", "Zoom")
BL = Replace(BL, ".", ",")
With ActiveSheet
    For Each cel In .Range("F2:F" & .Range("F" & .Rows.Count).End(xlUp).Row)

        If cel.Value > CDbl(BL) Then PL = cel.Row:Exit Sub

Next cel
End With

    Dern_Lig = Range("A" & Rows.Count).End(xlUp).Row 'Recherche la dernière ligne du document
    DL = Right(Str(Dern_Lig), Len(Str(Dern_Lig)) - 1)

    Range_F = Sheets("Données").Range("F" & PL & ":F" & DL)
    Range_C = Sheets("Données").Range("C" & PL & ":C" & DL)

    Set feuille = Sheets("Données")

    ThisWorkbook.Charts.Add After:=Worksheets("Données")
        With ActiveChart
        .ChartType = xlLineMarkers

        .SeriesCollection.NewSeries
        .Name = "zoom zone de rupture"
        .HasLegend = False

            With .SeriesCollection(1)

            .Values = feuille.Range("C" & PL & ":C" & DL)

            .XValues = feuille.Range("F" & PL & ":F" & DL)

            End With

Je voudrais m'en servir de cette façon pour ensuite créer un graphique avec, pour le moment celà ne marche pas et je pense que celà vient du placement des "Exit Sub" et "Next cel"

Remplacez le EXIT SUB par EXIT FOR

Merci bcp cette fois c'est bon tout mes voeux sont exhaucé

Rechercher des sujets similaires à "trouver valeur superieure fonction find"