Fonction Match

Fermé
Céline - Modifié par jordane45 le 4/01/2016 à 01:38
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 4 janv. 2016 à 12:44
Bonjour,

Je veux avoir la position de la valeur de la cellule C4 du fichier A dans le fichier B.
J'ai écris le code suivant:
-----------------------------
Sub rech()
Dim t As Long
Dim wb As Workbook, wb2 As Workbook
Dim sPath As String, sFilename As String


Application.ScreenUpdating = False

sPath = "d:\"       'Répertoire
sFilename = ("B")
Set wb2 = Workbooks.Open(sPath & sFilename)

t = Application.WorksheetFunction.Match(ThisWorkbook.Sheets(1).Range("C4").Value, wb2.Sheets(1).Range("A1:E500"), 0)
   MsgBox (t)
   
End Sub

-----------------------------
mais j'obtiens le message d'erreur suivant "Erreur définie par l'application ou par l'objet". Pourriez vous m'aider à corriger mon code?



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.

2 réponses

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
4 janv. 2016 à 01:40
Bonjour,

Si c'est pour chercher dans un classeur excel... orientes toi plutôt vers la fonction "find"
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
0
J'ai essayé la fonction "find" mais ça ne marche pas aussi
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
4 janv. 2016 à 12:44
Bonjour,

Essayez comme ceci :

Sub rech()
Dim t As Range
Dim wb As Workbook, wb2 As Workbook
Dim sPath As String, sFilename As String
Dim mot

Application.ScreenUpdating = False
mot = ThisWorkbook.Sheets(1).Range("C4").Value
sPath = "d:\"       'Répertoire
sFilename = ("B")
Set wb2 = Workbooks.Open(sPath & sFilename)
With wb2.Sheets(1).Range("A1:E500")
    Set t = .Cells.Find(mot)
End With
If Not t Is Nothing Then MsgBox t.Address
End Sub 

0