Recherche valeur dans plage

Bonjour,

J'essaye de trouver une fonction et je galère un peu.

Sur l'onglet Feuille Récap de mon tableur, il y a une valeur en Texte (ici c'est Bicarbonate) présent en A4.

J'essaye de trouver en vba le moyen de rechercher la Valeur A4 dans une plage de Cellule présent entre A1 et A3 sur la feuille 21.04.2020

  • une fois trouver - > décaler la sélection de 2 colonne sur la gauche et de récupérer l'information présente (une date)
  • la date, la mettre automatiquement sur la feuille récap au niveau de la cellule A4 (en ayant préalablement décaler d'une cellule sur la gauche avant)

J'ai fait un code mais j'ai un problème d'objet.

est ce quelqu'un pourrait me dire où est l'erreur et au besoin de me corriger si le résultat que je voudrais obtenir n'est pas le bon moyen.

Sub essai()

With Worksheets("21.04.2020").Range("A1:A3")
    Set c = .Find(Worksheets("Recap").Range("A4").Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            Range("a4").Offset(0, 1).Select
            ActiveCell.Value = firstAddress.Offset(0, 2).Value
            Set c = .FindNext(c)
        Loop While Not c Is Nothing
    End If
End With
End Sub

Merci d'avance !

Bonsoir,

pas tout regarder, mais ce que je sais c'est que si firstAddress = c.Address alors cette variable est un "String" du type : $A$14

et du String n'est en aucun cas un objet Range avec lequel on peut utiliser la propriété "OffSet".

Donc déjà un

Range(firstAddress).Offset(,2).Value

serait plus proche de la réalité.

@ bientôt

LouReeD

Merci, ça avance beaucoup !

Sub essai()

With Worksheets("21.04.2020").Range("A1:A3")
    Set c = .Find(Worksheets("Recap").Range("A4").Value, LookIn:=xlValues)
    'If Not c Is Nothing Then
        firstAddress = c.Address
        'Do
            Range("A4").Offset(0, 1).Select
            ActiveCell.Value = Range(firstAddress).Offset(0, 2).Value
           ' Set c = .FindNext(c)
       ' Loop While Not c Is Nothing
  '  End If
End With
End Sub

J'ai un soucis avec la recherche, dans l'état de mon code présent sur le post : l'outil de recherche ne fait rien par contre il sélectionne bien Range("A4").Offset(0, 1).Select

Si c'est le code sur mon post d'origine, la macro tourne en boucle est impossible de l'arrêter (et a priori l'outil de reche ne marche pas)

Quelqu'un pourrait m'aider avec l'outil de recherche ?

Merci !!!!!!!!!

Une bonne instruction ICI.

@ bientôt

LouReeD

Super merci !

ça marche presque !

Bonjour,

Une proposition !?

Cdlt.

Public Sub Ozannmar()
Dim ws As Worksheet, ws2 As Worksheet
Dim v, rw
Const R = "A1:A3"
    Set ws = Worksheets("Recap")
    v = ws.Cells(4, 1).Value
    Set ws2 = Worksheets("21.04.2020")
    rw = Application.Match(v, ws2.Range(R), 0)
    If Not IsError(rw) Then
        v = ws2.Cells(rw, 3).Value2
        ws.Cells(4, 2).Value = v
    End If
End Sub
Rechercher des sujets similaires à "recherche valeur plage"