Remplacer vlookup par find

Bonjour,

Débutant VBA, je souhaite remplacer les formules RechercheV par la fonction Find.

J’ai concocté un exemple

En

Feuil1, D1 : mon critère de recherche « n de code projet »

Feuil1, D2 : ce que je cherche « nom du projet »

Feuil2, colonne A : liste de n de projet

Feuil2, colonne B : liste des noms de projet

Ce que j’arrive à faire : récupérer dans nom de projet, l’adresse en feuil2 du code projet recherché. ( et message d’erreur si projet KO). Maigre début.

Je suis un peu perdu et sans arrêt dérangé (VBA n’est qu’une infime partie de mon job)

Votre aide me sera utile.

Sub Cherche()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

'*********
Valeur_Cherchee = Range("D1").Value
    '
Set PlageDeRecherche = Sheets("Feuil2").Range("a:b")

'*******************************

Set Trouve = PlageDeRecherche.Cells.find(what:=Valeur_Cherchee, LookAt:=xlWhole)

'SI ERREUR
If Trouve Is Nothing Then

    AdresseTrouvee = " Le Code Projet KO"

    MsgBox AdresseTrouvee
Else
    'SI OK
    '

    Range("D2") = Trouve.Address
    'AdresseTrouvee = Trouve.Address
End If
27test-find.xlsm (30.06 Ko)

Bonjour,

Je ne comprend pas exactement votre demande. Que souhaitez-vous faire avec cette recherche du coup? Vous avez l'adresse OK, et que comptez-vous en faire?

Cordialement.

Bonsoir,

si j'ai bien compris

Sub Cherche()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

'*********
Valeur_Cherchee = Range("D1").Value
    '
Set PlageDeRecherche = Sheets("Feuil2").Range("a:a")

'*******************************

Set Trouve = PlageDeRecherche.Cells.find(what:=Valeur_Cherchee, LookAt:=xlWhole)

'SI ERREUR
If Trouve Is Nothing Then

    AdresseTrouvee = " Le Code Projet KO"

    MsgBox AdresseTrouvee
Else
    'SI OK
   '

    Range("D2") = Trouve.offset(,1) 'le nom du projet se trouve dans la colonne de droite par rapport à la cellule trouvée.
    'AdresseTrouvee = Trouve.adresse
End If
 

merci de pour la réponse, en effet lorsque j'ai envoyé mon message, j'ai trouver les messages du meme type et en autre l'utilisation de la fonction off.set. comme quoi ce forum est quand même bien fait.

Je reviens ASAP pour confirmer.

OK ca marche super, et mieux que le vlookup, on peut chercher dans toutes les directions.

Merci

Rechercher des sujets similaires à "remplacer vlookup find"