Localisation d'une cellule cible

bonsoir

d'apres le code suivant :

Sub test()

Dim Cible As String
Dim x As Long
On Error Resume Next
Cible = Sheets("Feuil1").Range("L19")

x = Application.Match(Cible, Worksheets("Feuil2").Range("D9:D55"), 0)

If x = 0 Then

MsgBox "valeur non trouvée"
Else
MsgBox "valeur  trouvée"
End If
End Sub

je souhaiterai obtenir les coordonnées de ma cellule cible dans la plage D9:D55 de ma feuil2 lorsque celle ci est trouvée

je ne vois pas comment mettre cela en forme car application.match verifie la présence de la cellule cible dans cette plage

mais ne retourne pas sa coordonnée

Voyez vous un moyen d'y parvenir ? Merci

Salut Rocket,

Match te renvoie la position du texte recherché à l'intérieur de ta plage.

En écrivant

MsgBox "Valeur  trouvée dans la cellule D" & x + 8

tu inscris dans ton MsgBox la cellule dans laquelle se trouve le texte cherché.

Cordialement.

Merci pour ta réponse rapide Yvouille , j'ai testé ta proposition et elle marche mais j'aimerai comprendre pourquoi dans le message box c'est x+8 ?


aussi si je veux pouvoir isoler et utiliser cette cellule trouvée en l'ecrivant sous la forme range quelque chose , comment faire?

Ta plage référence commence à D9. Si tu as ta cible en D9, Match va te renvoyer 1 car il a trouvé ton texte dans la première cellule de cette plage, donc x vaudra 1. Afin de créé la référence D9, tu dois ajouter 8 à x.

Si tu as ta cible en D19, x aura la valeur 11 (11ème cellule de la plage), donc 11 + 8 = 19

Amicalement.

je viens de comprendre pour x + 8 , x etant située dans la plage d9:d55 la ligne en reference à la cellule cible est forcement x+8

Merci encor , mais sais tu comment je peux ercire cette cellule sous la forme range ?

Eventuellement Range("D" & x + 8) ou Cells(x + 8, 4)

Autrement tu dois fournir ton fichier afin qu'on voit ce que tu veux faire.

Je te remercie , c'est parfait et ca marche !

Bonne soirée à toi

Rechercher des sujets similaires à "localisation cible"