Sub RecupTabGeneral()
Application.ScreenUpdating = False
Set Ws_source = Worksheets("tableau récap")
x = -1
With Ws_source
[COLOR=Green]'ici on récupère le tableau des entêtes[/COLOR]
TabEntete = .Range("A2:G4").Value
End With
[COLOR=Green]'pour chaque feuille[/COLOR]
For Each Ws In Worksheets
[COLOR=Green]'si son nom contient dept[/COLOR]
If InStr(1, Ws.Name, "dept") <> 0 Then
[COLOR=Green]'on vide le tableau temporaire[/COLOR][COLOR=Green] [/COLOR]
Set Tabtemp = Nothing
With Ws 'avec cette feuille
[COLOR=Green]'on détermine la dernière ligne[/COLOR]
DerLgn = .Range("A65536").End(xlUp).Row
[COLOR=Green]'on détermine la dernière colonne[/COLOR]
DerCol = .Range("IV2").End(xlToLeft).Column
[COLOR=Green]'on récupère les donnees de la[/COLOR][COLOR=Green] plage ainsi définie dans un tableau[/COLOR]
Tabtemp = .Range(.Cells(2, 1), .Cells(DerLgn, DerCol)).Value
End With
'[COLOR=Green]on incrémente[/COLOR]
x = x + 1
[COLOR=Green]'pour chaque ligne du tableau[/COLOR]
For Lgn = 1 To UBound(Tabtemp, 1)
[COLOR=Green]'on redimensionne le tableau[/COLOR]
ReDim Preserve TabRecup(UBound(TabEntete, 2), x)
'[COLOR=Green]et on y colle les données[/COLOR]
TabRecup(Lgn - 1, x) = Tabtemp(Lgn, 2)
Next Lgn [COLOR=Green]'autre ligne[/COLOR]
End If
Next
[COLOR=Green]'ici dans la feuille on colle les données ainsi récupérées[/COLOR]
Ws_source.Range("A5").Resize(UBound(TabRecup, 2) + 1, _
UBound(TabRecup, 1)) = Application.Transpose(TabRecup)
Application.ScreenUpdating = True
End Sub