Déclaration de ligne d'aprés 1 recherche dans 1 colonne

bonjour

J'ai la macro suivante qui permet de déclarer une ligne à partir d'une valeur d'une cellule

je voudrais la modifier de façon que la macro me déclare la ligne aprés 4SMF sachant que défois je n'ai pas cette machine donc ma ligne active sera la ligne 2

ci joint le fichier

merci de votre aide par avance

philippe

Sub test()

Dim i As Integer
Dim ligne As String

 'recherche de la ligne active
On Error Resume Next
i = Application.WorksheetFunction.Match(("4SMT"), Range("b:b"), 0)
If i = 0 Then i = 2
Range("b" & i).Activate

ligne = ActiveCell.Row

End Sub

Bonjour,

Si j'ai bien compris...

Tu y étais presque... il ne manquait qu'additionner 1 au résultat...

Sub test()

    Dim i As Integer
    Dim ligne As String

     'recherche de la ligne active
    On Error Resume Next
    i = Application.WorksheetFunction.Match(("4SMT"), Range("b:b"), 0)
    If i = 0 Then i = 2
    Range("b" & i).Activate

    ligne = ActiveCell.Row + 1   ' addition d'une ligne ici

    End Sub      

Gelinotte

bonjour gelinotte

merci pour ta réponse, même si ça ne fait pas ce que je souhaite, si ça peut aider d'autre personne j'ai réussi à écrire quelque chose qui fonctionne.

Sub test()

    Dim i As Integer
    Dim ligne As String

 If Application.WorksheetFunction.CountIfs(Range("b:b"), "=" & "4SMF") <> 0 Then

     'recherche de la ligne active
    On Error Resume Next
    i = Application.WorksheetFunction.Match(("4SMF"), Range("b:b"), 0)
    If i = 0 Then i = 2
    Range("b" & i + Application.WorksheetFunction.CountIfs(Range("b:b"), "=" & "4SMF")).Activate

    ligne = ActiveCell.Row    ' addition d'une ligne ici

    Else
    'recherche de la ligne active
    On Error Resume Next
    i = Application.WorksheetFunction.Match(("4SMF"), Range("b:b"), 0)
    If i = 0 Then i = 2
    Range("b" & i).Activate

    ligne = ActiveCell.Row    

  End If

    End Sub
Rechercher des sujets similaires à "declaration ligne recherche colonne"