VLOOKUP avec un for

Résolu
boubibla Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Alors ? ça a marché ou non ?
    -2