Traduire INDIRECT dans VBA
Bonjour
je souhaiterais traduire la fonction INDIRECT en code VBA.
Dans la colonne A3:A de la feuille nommée Liste je récupère le nom de toutes les autres feuilles (environ 300)
La ligne (plage) B2:BB contient la référence des cellules à renvoyer.
j'ai la fonction =INDIRECT("'"&$A3&"'!"&B$2) aux intersections colonne-ligne.
lors de nouvelles feuilles ou de valeurs à renvoyer il faut glisser la formule d'où les risques d'erreurs
j'ai essayé ce code je bloque sur la deuxième partie
merci
Code:
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
| Sub liste()
'Récupération du nom des feuilles dans la colonne A
Dim ws As Worksheet
Set ws = Worksheets("Liste")
Dim nb As Byte
nb = Worksheets.Count - 1
Dim last_row As Long
last_row = ws.Range("A65000").End(xlUp).Row
ws.Range("A2:A" & last_row).Clear
For i = 9 To nb
On Error GoTo 0
ws.Cells(i - 6, 1) = Worksheets(i + 1).Name
Next i
'Récupération des valeurs. comme INDIRECT
For j = 2 To 40
ws.Cells(j, 3).Value = sheets("'"&a3&"'"!"&a12"").value
Next
End Sub |