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 :
etc jusqu'à 12
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)
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
excellent après midi
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
Partager