Excel VBA, utilisation de fonction

Résolu/Fermé
Bl4do Messages postés 37 Date d'inscription jeudi 15 septembre 2011 Statut Membre Dernière intervention 24 octobre 2011 - Modifié par Bl4do le 21/10/2011 à 10:56
Bl4do Messages postés 37 Date d'inscription jeudi 15 septembre 2011 Statut Membre Dernière intervention 24 octobre 2011 - 21 oct. 2011 à 11:36
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.
A voir également:

2 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
21 oct. 2011 à 11:17
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
Bl4do Messages postés 37 Date d'inscription jeudi 15 septembre 2011 Statut Membre Dernière intervention 24 octobre 2011 1
21 oct. 2011 à 11:35
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
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
Modifié par eriiic le 21/10/2011 à 11:23
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
Bl4do Messages postés 37 Date d'inscription jeudi 15 septembre 2011 Statut Membre Dernière intervention 24 octobre 2011 1
21 oct. 2011 à 11:36
D'accord, merci bien pour le conseil!
0