Bonjour,
Pouvez vous m’aider à trouver une solution, soit par une macro ou bien un
code à mettre dans la feuille qui réunirait toutes les données.
Je voudrais recopier sur une seul feuille des données de 12 feuilles et sur
une plage de (A2 :F200) pour chaque feuille.
Salutations
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Essaie ceci :
Copie les 12 premières feuilles du classeur dans une feuille qui est créée et qui porte le nom de "Compilation"
'---------------------------------- Sub Sommaire()
Dim A As Integer, Ligne As Long Dim Sh As Worksheet Dim Rg As Range Dim Mode As String Dim NomFeuille As String
Application.ScreenUpdating = False Mode = Application.CalculationState Application.Calculation = xlCalculationManual Application.EnableEvents = False On Error Resume Next With ThisWorkbook NomFeuille = .ActiveSheet.Name Application.DisplayAlerts = False .Worksheets("Compilation").Delete Application.DisplayAlerts = True Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))
For A = 1 To 12 If A = 1 Then .Worksheets(A).Range("A1:F200").Copy _ Sh.Range("A1") Else Ligne = Sh.Range("A65536").End(xlUp)(2).Row .Worksheets(A).Range("A2:F200").Copy _ Sh.Range("A" & Ligne) End If Next End With Sh.Name = "Compilation" Application.Calculation = Mode Sheets(NomFeuille).Select Application.EnableEvents = True End Sub '----------------------------------
"Tibert" a écrit dans le message de news:
Bonjour, Pouvez vous m'aider à trouver une solution, soit par une macro ou bien un code à mettre dans la feuille qui réunirait toutes les données. Je voudrais recopier sur une seul feuille des données de 12 feuilles et sur une plage de (A2 :F200) pour chaque feuille. Salutations
Essaie ceci :
Copie les 12 premières feuilles du classeur dans une
feuille qui est créée et qui porte le nom de "Compilation"
'----------------------------------
Sub Sommaire()
Dim A As Integer, Ligne As Long
Dim Sh As Worksheet
Dim Rg As Range
Dim Mode As String
Dim NomFeuille As String
Application.ScreenUpdating = False
Mode = Application.CalculationState
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error Resume Next
With ThisWorkbook
NomFeuille = .ActiveSheet.Name
Application.DisplayAlerts = False
.Worksheets("Compilation").Delete
Application.DisplayAlerts = True
Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))
For A = 1 To 12
If A = 1 Then
.Worksheets(A).Range("A1:F200").Copy _
Sh.Range("A1")
Else
Ligne = Sh.Range("A65536").End(xlUp)(2).Row
.Worksheets(A).Range("A2:F200").Copy _
Sh.Range("A" & Ligne)
End If
Next
End With
Sh.Name = "Compilation"
Application.Calculation = Mode
Sheets(NomFeuille).Select
Application.EnableEvents = True
End Sub
'----------------------------------
"Tibert" <Tibert@discussions.microsoft.com> a écrit dans le message de news:
DECA1A4C-1EDC-4081-BF3F-2E1822795F5E@microsoft.com...
Bonjour,
Pouvez vous m'aider à trouver une solution, soit par une macro ou bien un
code à mettre dans la feuille qui réunirait toutes les données.
Je voudrais recopier sur une seul feuille des données de 12 feuilles et sur
une plage de (A2 :F200) pour chaque feuille.
Salutations
Copie les 12 premières feuilles du classeur dans une feuille qui est créée et qui porte le nom de "Compilation"
'---------------------------------- Sub Sommaire()
Dim A As Integer, Ligne As Long Dim Sh As Worksheet Dim Rg As Range Dim Mode As String Dim NomFeuille As String
Application.ScreenUpdating = False Mode = Application.CalculationState Application.Calculation = xlCalculationManual Application.EnableEvents = False On Error Resume Next With ThisWorkbook NomFeuille = .ActiveSheet.Name Application.DisplayAlerts = False .Worksheets("Compilation").Delete Application.DisplayAlerts = True Set Sh = Worksheets.Add(after:=Sheets(Sheets.Count))
For A = 1 To 12 If A = 1 Then .Worksheets(A).Range("A1:F200").Copy _ Sh.Range("A1") Else Ligne = Sh.Range("A65536").End(xlUp)(2).Row .Worksheets(A).Range("A2:F200").Copy _ Sh.Range("A" & Ligne) End If Next End With Sh.Name = "Compilation" Application.Calculation = Mode Sheets(NomFeuille).Select Application.EnableEvents = True End Sub '----------------------------------
"Tibert" a écrit dans le message de news:
Bonjour, Pouvez vous m'aider à trouver une solution, soit par une macro ou bien un code à mettre dans la feuille qui réunirait toutes les données. Je voudrais recopier sur une seul feuille des données de 12 feuilles et sur une plage de (A2 :F200) pour chaque feuille. Salutations