Bonjour à tous,
j'essaie d'exécuter une macro sur laquelle je traine depuis ce matin. je m'explique, sur la feuille 3 je souhaite ramener des valeurs qui sont sur la feuille 2 dans le tableau suivant: s3.range("BC2:BO12") à l'aide d'un vlookup en sautant à chaque fois une ligne sorte à ce que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
s3.range ("BC2:BO2").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(3, 57), S2.Cells(15, 61)), a, False)
s3.range ("BC4:BO4").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(16, 57), S2.Cells(28, 61)), a, False)
s3.range ("BC6:BO6").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(29, 57), S2.Cells(41, 61)), a, False)
etc jusqu'à 12
pour plus de précision
a = numero de colonne
S3.Cells(1, j)= lookup value qui varie en fonction de j


ce qui varie c'est ma plage de sélection, il y a de 13 entre le numero de ligne de début et également celui de fin lorsqu'on change de plage
voici ce que j'ai fait jusque la mais je n'obtient pas les résultats souhaités. je vous remercie par avance pour vos réponses et éclairages.

https://www.cjoint.com/c/HHpwfVVWXMx





Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Tableaux()
 
Dim S1 As Worksheet
Dim S2 As Worksheet
Dim S3 As Worksheet
 
 
Set S1 = Worksheets("List")
Set S2 = Worksheets("Temp")
Set S3 = Worksheets("Calcul")
 
Dim i, j, a, k As Long
For i = 2 To 15
    For j = 55 To 67
        a = 2
             If Application.WorksheetFunction.IsEven(i) Then
                    S3.Cells(i, j) = Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(3, 57), S2.Cells(15, 61)).Offset(13, 0), a, False)
            End If
 
           Next j
           next i
  end sub
excellent après midi