Code VBA recherche dans un Tableau

Fermé
Tintinmar - 28 févr. 2011 à 16:18
commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 - 1 mars 2011 à 10:58
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 !

A voir également:

1 réponse

commentcamarcheeay Messages postés 667 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 30 mars 2020 86
1 mars 2011 à 10:58
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