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 :
s3.range ("BC2:BO2").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(3, 57), S2.Cells(15, 158)), a, False)
s3.range ("BC4:BO4").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(16, 57), S2.Cells(28, 158)), a, False)
s3.range ("BC6:BO6").value=Application.VLookup(S3.Cells(1, j), S2.Range(S2.Cells(29, 57), S2.Cells(41, 158)), 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.
excellent après midi
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, 158)).Offset(13, 0), a, False)
End If
Next j
next i
end sub