Changer la valeur de la cellule en sortie de RechercheV

Bonjour,

Je débute en VBA et rencontre quelques soucis (ça ne serait pas drôle sinon!).

Lorsque j'effectue une rechercheV, normalement la fonction est censée afficher la valeur de la cellule cible. Ce que j'aimerai dans mon cas, au lieu d'afficher cette valeur, c'est la modifier.

Pour cela j'ai pensé qu'il serait plus simple de récupérer les coordonnées de la cellule cible et ensuite attribuer la valeur que je veux dans la dite cellule.

Pour l'instant, mon code ressemble à ça:

Sub TestSearch()

    Dim lookFor As Variant
    Dim rng As Range
    Dim Num As Variant

    lookFor = Worksheets("Recipe").Range("D5")
    Set rng = Range("B7:E138")

    Num = Application.VLookup(lookFor, rng, 4)

   'à completer ici..

End Sub

Pour l'instant mon code ne fait que rechercher la valeur de la cellule cible mais je ne sais pas comment récupérer les coordonnées de cette cellule ou même comment modifier sa valeur.

J'espère que je suis assez clair dans mes explications sinon demandez moi plus de détails

Merci d'avance pour votre précieuse aide !!

Bonjour Khenen,

un exemple à tester, j'ai mis la valeur fixe NEW comme nouvelle valeur de la cellule cible mais on peut utiliser un variable ou un InputBox:

Sub TestSearch2()

    Dim rngSearch As Range
    Dim rngFind As Range
    Dim NewValeur As String ' ==> A' adapter

    Set rngSearch = Worksheets("Recipe").Range("D5")
    NewValeur = "NEW" ' ==> A' adapter

    Set rngFind = Worksheets("Recipe").Columns(2).Find(What:=rngSearch.Value)
    If Not rngFind Is Nothing Then
        rngFind.Offset(ColumnOffset:=3).Value = NewValeur
    End If
End Sub

Bonjour Khenen, le forum,

Pas besoin de rechercheV.....

Si la valeur en colonne B correspond à D5, alors on modifie la valeur en colonne E.

Edit: une autre version basée sur le code de Sequoyah (que je salue),

Sub TestSearch()

    Dim PlagedeRecherche As Range
    Dim valeur As Range

    Application.ScreenUpdating = False

  With Sheets("Recipe")
   dl = .Range("B" & Rows.Count).End(xlUp).Row
    Set PlagedeRecherche = .Range("B7:B" & dl)
    Set valeur = .Columns(2).Find(What:=.Range("D5").Value)
     If Not valeur Is Nothing Then valeur.Offset(columnoffset:=3).Value = InputBox("Nouvelle valeur", "Modification")
  End With

   Application.ScreenUpdating = True
End Sub
3classeur1-v2.xlsm (23.52 Ko)

Cordialement,

Bonjour Seqoyah et Xorsankukai et merci beaucoup pour vos réponses.

J'essaye vos solutions dès que possible et vous tiens au courant de ce que ça donne !

Cordialement,

Rechercher des sujets similaires à "changer valeur sortie recherchev"