1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub TestVersion2()
Dim ShSource As Worksheet
Dim ShCible As Worksheet
Dim LigneCibleEnCours As Long
Dim I As Long
Dim ValeursAChercher As Variant
Set ShSource = Sheets("Feuil1")
Set ShCible = Sheets("Feuil2")
LigneCibleEnCours = 20
ValeursAChercher = Array(4, 15, 10) 'L'ordre a son importance pour le résultat.
For I = 1 To 3
RecuperationDonnees ShSource, ValeursAChercher(I - 1), ShCible.Range("C" & LigneCibleEnCours)
LigneCibleEnCours = LigneCibleEnCours + 1 ' Si les résultats doivent s'ajouter les uns à la suite des autres
Next I
Set ShSource = Nothing
Set ShCible = Nothing
End Sub
Sub RecuperationDonnees(ByVal FeuilleSource As Worksheet, ByVal ValeurRecherchee As Variant, CelluleCible As Range)
Dim CelluleRecherchee As Range
Set CelluleRecherchee = FeuilleSource.Columns("A").Find(what:=ValeurRecherchee, LookIn:=xlValues, lookat:=xlWhole)
If Not CelluleRecherchee Is Nothing Then CelluleCible = CelluleRecherchee.Offset(0, 5)
Set CelluleRecherchee = Nothing
End Sub |