Code VBA recherche dans un Tableau

Tintinmar -  
commentcamarcheeay Messages postés 735 Statut Membre -
Bonjour,

Je suis à la recherche d'un code VBA.

Le but est de trouver le nom d'une personne. L'utilisateur du code entre dans une colonne une année de naissance puis dans une autre colonne une taille.

Dans une feuille annexe sont répertorié des noms de personnes avec leur année de naissance et leur taille.

Grâce au code VBA je voudrais que dans ma première feuille en entrant une année et une taille apparaisse le nom de la personne.

Comment faire ?

Merci d'avance de votre aide !

1 réponse

  1. commentcamarcheeay Messages postés 735 Statut Membre 86
     
    Bonjour,

    Voici un code pour chercher dans un tableau à trois colonnes dont la première cellule est située à la case A2 :

    Public Function findMatch(mBirth As Range, mSize As Range) As Variant
        Dim rg As Range
        Dim myData As Worksheet
        Dim aCell As Range
        Dim i As Integer, j As Integer
        Dim res As Variant
        
        res = "Aucune donnée"
        Set myData = ThisWorkbook.Worksheets("Data")
        With myData
            Set rg = .Range(.Cells(2, 1), .Range("A2").End(xlDown))
            If rg.Count > 100 Then Exit Function
            For Each aCell In rg
                If aCell.Offset(0, 1).Value = mBirth.Value And aCell.Offset(0, 2).Value = mSize.Value Then
                    res = aCell
                    GoTo render
                End If
            Next aCell
        End With
    render:
        findMatch = res
    End Function
    


    A l'utiliser en entrant la formule suivante dans la case correspondante
    =findMatch(C2;C3)

    avec
    - C2 la case des Naissances
    - C3 celle des Tailles

    Cordialement!
    0