VLOOKUP avec un for

Résolu
Bonjour, j'ai reussi a faire une rechercheV avec le code suivant :

Sub recherchev()
With Sheets("Feuil1")
.Range("C1").Value = WorksheetFunction.VLookup(.Range("A1").Value, Sheets("BASE").Range("A6:DQ95"), i, False)
End With
End Sub

Je viens mettre dans la feuil1 les donnée de la feuille base en fonction de ce que je choisis dans ma liste deroulante qui se trouve dans la feuil1 Cellule C1. Et don cce que je veux c'est programmé cette rechercheV de façon à ne pas avoir a changer chaque foi la collonne à repertorier (mettre un i dans l'indec colonne au lieu de mettre a chaque fois 1 puis 2 ..etc

2 réponses

  1. Contributeur
    Bonjour
    Tu as créés un doublon !!! :-(

    comme tu as bossé

    macro pour créer la liste de de validation

    Sub creer_validation()  
         'nommer liste de la validation  
         derlig = Sheets(1).Columns("A").Find("*", , , , , xlPrevious).Row  
         ActiveWorkbook.Names.Add Name:="pays", RefersToR1C1:="=Feuil1!R2C1:R" & derlig & "C1"  
       'creation de la validation  
        With Sheets(2).Range("B1").Validation  
            .Delete  
            .Add Type:=xlValidateList, Formula1:="=pays"  
        End With  
     End Sub


    et macro pour remplir le tableau des dons suivant le choix du pays sans utiliser vlookup et sans boucle
    macro a insérer dans le module feuil2

    Private Sub Worksheet_Change(ByVal Target As Range)  
     Dim lig as byte,T_don()  
         If Target.Address = "$B$1" Then  
              With Sheets(1)  
                   lig = .Columns("A").Find(Target, .Range("A1"), xlValues, xlWhole).Row  
                   T_don = Application.Transpose(.Range(.Cells(lig, "B"), .Cells(lig, "L")).Value)  
              End With  
              Range("B5:B15") = T_don 
         End If  
    End Sub  
    


    Michel
    0
    1. Contributeur
      Alors ? ça a marché ou non ?
      -2