Excel VBA, utilisation de fonction

Résolu
Bl4do Messages postés 40 Statut Membre -  
Bl4do Messages postés 40 Statut Membre -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. Bl4do Messages postés 40 Statut Membre 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. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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. Bl4do Messages postés 40 Statut Membre 1
       
      D'accord, merci bien pour le conseil!
      0