Excel VBA, utilisation de fonction [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
jeudi 15 septembre 2011
Statut
Membre
Dernière intervention
24 octobre 2011
-
Messages postés
37
Date d'inscription
jeudi 15 septembre 2011
Statut
Membre
Dernière intervention
24 octobre 2011
-
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

Messages postés
9530
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 août 2020
1 878
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58270 internautes nous ont dit merci ce mois-ci

Messages postés
37
Date d'inscription
jeudi 15 septembre 2011
Statut
Membre
Dernière intervention
24 octobre 2011
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!
Messages postés
23428
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2020
6 292
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58270 internautes nous ont dit merci ce mois-ci

Messages postés
37
Date d'inscription
jeudi 15 septembre 2011
Statut
Membre
Dernière intervention
24 octobre 2011
1
D'accord, merci bien pour le conseil!