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 Test()
Dim ResAR As Variant
ResAR = Extract_Data("A3,A5,A7, A11") 'A remplacer par "R" en constante et ligne 34, 69, 97,132, 160, 188,223,251,279,314,342 et 370
End Sub
Function Extract_Data(SrcRngAd As String) As Variant
Dim Wsh As Worksheet
Dim SrcRng As Range, Cl As Range
Dim ExtrAR As Variant
Dim ClIndI As Integer, CntClI As Integer
' Initialisation
'On dimensionne le tableau résultat en fonction du nombre de feuilles et d'adresses passées dans SrcRngAd
ReDim ExtrAR(1 To ThisWorkbook.Worksheets.Count, 1 To UBound(Split(SrcRngAd, ",", , vbTextCompare), 1) + 1)
' Parcours toutes les sheets et sauve le résultat du SrcRng dans le tableau
For Each Wsh In ThisWorkbook.Worksheets
CntClI = 0
Set SrcRng = Wsh.Range(SrcRngAd)
For Each Cl In SrcRng.Cells
CntClI = CntClI + 1
ExtrAR(Wsh.Index, CntClI) = Cl.Value
Next Cl
Next Wsh
' On retourne le résultat
Extract_Data = ExtrAR
End Function |
Partager