Comment recherchez un valeur dans une colonnes et la comparer si pareil renvoyer

qcsylvain Messages postés 1 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 5 mars 2009 - 5 mars 2009 à 17:53
cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 - 5 mars 2009 à 20:05
Bonjour, sa fait des semaines que je cherche une facon de crée ce code, je travail avec excel vba 2007

jai 2 feuille dans mon classeur "2" et  "Feuil1"

dans la "2" a la cellule d12 jai une valeur monetaire (reference de base pour la recherche)
dans la feuille1 jai 2 colonnes remplie encore avec des valeurs monetaire,
dans le feuille1 la colonne A;A complet (est moin point de repere pour la recherche) dans le but de trouver la meme valeur que d12
un coup que la valeur identique est trouver, faudrait que a la ligne que la valeur identique a été trouver dans feuil1 copie la premiere cellule a sa droite (reference finale)
et la renvoie dans feuille "2" h12

idealement faudrait une formule excel je crois car je doit repeter cette operation pour 500 lignes de plus dans feuille "2"  avec un drag example

ou je suis bien ouvert au vba aussi

en vous remerciant a l'avance c'est pas n'importe quoi a mes yeux

il doit bien y avoir un génie en quelque part pour me guider

1 réponse

cnt Messages postés 219 Date d'inscription lundi 21 novembre 2005 Statut Membre Dernière intervention 20 décembre 2010 1
5 mars 2009 à 20:05
Salut
 Cela répond-t-il à ton problème?

Sub FindValue()
    Dim Col As Integer, ColStr As String, CelluleCible As String, Lgn As Long
   
    CelluleCible = "h:12"
    ColStr = Left(CelluleCible, 1)
    Col = Asc(UCase((ColStr))) - 64
    Lgn = CLng(Right(CelluleCible, Len(CelluleCible) - InStr(1, CelluleCible, ":")))
    ValeurCherchee = 10
    Call TrouverValeur(Worksheets(2).Cells(Lgn, Col), ValeurCherchee)

End Sub

Sub TrouverValeur(cc As Range, ByVal valeur)
    Dim c As Range
   
    With Worksheets(1).Range("a:a")
        Set c = .Find(valeur, LookIn:=xlValues)
        If Not c Is Nothing Then
            cc.Value = c.Offset(0, 1).Value
            MsgBox "Valeur trouvée = " & cc.Value
        Else
            MsgBox "Echec de la recherche"
        End If
    End With
End Sub

Un peut compliqué mais ça marche

CNTJC
0
Rejoignez-nous