Excel VBA, utilisation de fonction

Résolu
Bonjour,

alors voilà, j'essaye d'utiliser la fonction "SEARCH" dans mon code ci-joint:

Sub Import_TS()

Dim Wsh As Worksheets
Dim Wbk As Workbook

resultat = Worksheets("TS").Range("A1")

With Worksheets("TS")

resultat = Application.WorksheetFunction.SEARCH(Cells(1, 1), Range(Cells(1, 1), Cells(20, 1)), 1)

End With

End Sub

Malheureusement, j'ai un code erreur "Mismatch" sur la ligne que j'ai mis en gras.

Je vous remercie pour l'aide par avance!



Cordialement,
L. L.

2 réponses

  1. bonjour

    si c'est pour rechercher la ligne où se trouve la 1° occurrence de "résultat"

    Sub Import_TS()
    Dim Wsh As Worksheets
    Dim ligne As Long
    Dim plage As Range
    With Worksheets("TS")
      resultat = .Range("A1")
      Set plage = Range(.Cells(2, 1), .Cells(20, 1))
      ligne = plage.Find(resultat).Row
      MsgBox ("ligne " & ligne)
    End With
    End Sub


    bonne suite
    1
    1. Merci bien c'est bien ca! J'ai modifié car ce n'est pas le mot "resultat" que je cherchais mais ce n'est qu'un petit changement ;) Pour la suite, ca ne s'annonce pas simple non plus!
      0
  2. Contributeur
    Bonjour,

    indépendamment de la réponse de ccm81 tu mets With Worksheets("TS") mais tu ne l'utilises pas.
    Il faut faire précéder les références d'un point (.) pour dire que tu utilises cette feuille, sinon tu utilises la feuille active :
    resultat = Application.WorksheetFunction.SEARCH(.Cells(1, 1), Range(.Cells(1, 1), .Cells(20, 1)), 1)

    eric
    1
    1. D'accord, merci bien pour le conseil!
      0