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
| Private Sub CommandButton2_Click()
Dim Lig1 As Integer 'Lig1 est un entier
Dim Col1 As Integer 'Col1 est un entier
Dim MaFeuille As Worksheet 'MaFeuille est une feuille
Dim Ligne As Integer 'Ligne est un entier
Dim Result(6000, 14)
Dim Tabl
Application.ScreenUpdating = False
Feuil1.Range("A3:N6002").Cells.Clear
lig = 1
For Each MaFeuille In Sheets
If MaFeuille.Name Like "Act*" Then 'les feuilles concernées portent toutes un nom commançant par "Activités de..."
With MaFeuille
Tabl = .Range(.Cells(1, 1), .Cells(.Find("*", , , , xlByRows, xlPrevious).Row, 14))
For Ligne = 3 To UBound(Tabl) 'pour info, en mettant ...=3 To 1200, le temps d'exécution est le même
If Tabl(Ligne, 2) <> "" Then
For Col1 = 1 To 14 'chaque tableau à 14 colonnes
Result(Lig1, Col1).Value = Tabl(Ligne, Col1).Value
Next
Lig1 = Lig1 + 1
End If
Next
End With
End If
Next
Feuil1.[A3].Resize(6000, 14) = Result
Application.ScreenUpdating = True
End Sub |
Partager