Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28 et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que
les premières (A2:D10) soient les unes sous les autres à partir de la
cellule A2, les deuxièmes les unes sous les autres à partir de la cellule
F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de la première feuille, puis de la suivante, ou bien la première zone de
chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28 et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que
les premières (A2:D10) soient les unes sous les autres à partir de la
cellule A2, les deuxièmes les unes sous les autres à partir de la cellule
F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de la première feuille, puis de la suivante, ou bien la première zone de
chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28 et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que
les premières (A2:D10) soient les unes sous les autres à partir de la
cellule A2, les deuxièmes les unes sous les autres à partir de la cellule
F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de la première feuille, puis de la suivante, ou bien la première zone de
chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28
et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que les
premières (A2:D10) soient les unes sous les autres à partir de la cellule
A2, les deuxièmes les unes sous les autres à partir de la cellule F2,
etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant
avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de
la première feuille, puis de la suivante, ou bien la première zone de
chaque
feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28
et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que les
premières (A2:D10) soient les unes sous les autres à partir de la cellule
A2, les deuxièmes les unes sous les autres à partir de la cellule F2,
etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant
avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de
la première feuille, puis de la suivante, ou bien la première zone de
chaque
feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il copie
chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de feuilles entre
28
et 31 (suivant les mois) sur la feuille "TOTAL", de manière à ce que les
premières (A2:D10) soient les unes sous les autres à partir de la cellule
A2, les deuxièmes les unes sous les autres à partir de la cellule F2,
etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant
avec offset? ) mais ça dépasse mes connaissances actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque zone
de
la première feuille, puis de la suivante, ou bien la première zone de
chaque
feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1 pour
"TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" a écrit dans le
message de news: %23xjFsKl%Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" <pasdespambastardp@freepasdespam.fr> a écrit dans le
message de news: %23xjFsKl%23EHA.4028@TK2MSFTNGP15.phx.gbl...
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" a écrit dans le
message de news: %23xjFsKl%Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Salut Patrick,
ceci devrai faire l'affaire
les colonnes A et F doivent avoir au moins une donnée
Application.ScreenUpdating = False
For k = 1 To Sheets.Count
If Sheets(k).Name <> "TOTAL" Then
Sheets(k).Select
Sheets(k).Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets(k).Select
Sheets(k).Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
Next
Application.ScreenUpdating = True
Bruno
"Patrick BASTARD" a écrit dans le
message news: #xjFsKl#Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc... Un titre est déja inscrit
dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Salut Patrick,
ceci devrai faire l'affaire
les colonnes A et F doivent avoir au moins une donnée
Application.ScreenUpdating = False
For k = 1 To Sheets.Count
If Sheets(k).Name <> "TOTAL" Then
Sheets(k).Select
Sheets(k).Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets(k).Select
Sheets(k).Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
Next
Application.ScreenUpdating = True
Bruno
"Patrick BASTARD" <pasdespambastardp@freepasdespam.fr> a écrit dans le
message news: #xjFsKl#EHA.4028@TK2MSFTNGP15.phx.gbl...
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc... Un titre est déja inscrit
dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Salut Patrick,
ceci devrai faire l'affaire
les colonnes A et F doivent avoir au moins une donnée
Application.ScreenUpdating = False
For k = 1 To Sheets.Count
If Sheets(k).Name <> "TOTAL" Then
Sheets(k).Select
Sheets(k).Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets(k).Select
Sheets(k).Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
Next
Application.ScreenUpdating = True
Bruno
"Patrick BASTARD" a écrit dans le
message news: #xjFsKl#Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc... Un titre est déja inscrit
dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles.
Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour, *Pounet95*
J'ai lu ton post Ot1A$rl%
avec le plus grand intéret :
Ton code, adapté comme ci-dessous, me convient parfaitement :
- Il semble que le -1 de "For Feuille = 1 To ThisWorkbook.Sheets.Count -
1" fausse tout, mais je n'ai pas compris pourquoi.
- Le 9 à la place du 11, parce qu'en fait il n'y a que 9 lignes à copier
- Cells(TLig - 9) pour commencer sur la 2° ligne, sinon, début en ligne 11
- Range("A" & Flig & ":" & "D" & Flig + 8).Copy (Je me suis posé la
question sur ton ":D" qui passe mal par OE ;-) )
Je te remercie sincèrement.
Bien cordialement,
Patrick.
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count '- 1
If Sheets(Feuille).Name <> "TOTAL" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 9 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 9 * (i - 1)
Range("A" & Flig & ":" & "D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig - 9, Fcol).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Range("A1:I1").Select
Selection.AutoFilter
Application.ScreenUpdating = True
End SubBonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" a écrit dans le
message de news: %23xjFsKl%Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour, *Pounet95*
J'ai lu ton post Ot1A$rl%23EHA.1084@tk2msftngp13.phx.gbl
avec le plus grand intéret :
Ton code, adapté comme ci-dessous, me convient parfaitement :
- Il semble que le -1 de "For Feuille = 1 To ThisWorkbook.Sheets.Count -
1" fausse tout, mais je n'ai pas compris pourquoi.
- Le 9 à la place du 11, parce qu'en fait il n'y a que 9 lignes à copier
- Cells(TLig - 9) pour commencer sur la 2° ligne, sinon, début en ligne 11
- Range("A" & Flig & ":" & "D" & Flig + 8).Copy (Je me suis posé la
question sur ton ":D" qui passe mal par OE ;-) )
Je te remercie sincèrement.
Bien cordialement,
Patrick.
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count '- 1
If Sheets(Feuille).Name <> "TOTAL" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 9 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 9 * (i - 1)
Range("A" & Flig & ":" & "D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig - 9, Fcol).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Range("A1:I1").Select
Selection.AutoFilter
Application.ScreenUpdating = True
End Sub
Bonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" <pasdespambastardp@freepasdespam.fr> a écrit dans le
message de news: %23xjFsKl%23EHA.4028@TK2MSFTNGP15.phx.gbl...
Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Bonjour, *Pounet95*
J'ai lu ton post Ot1A$rl%
avec le plus grand intéret :
Ton code, adapté comme ci-dessous, me convient parfaitement :
- Il semble que le -1 de "For Feuille = 1 To ThisWorkbook.Sheets.Count -
1" fausse tout, mais je n'ai pas compris pourquoi.
- Le 9 à la place du 11, parce qu'en fait il n'y a que 9 lignes à copier
- Cells(TLig - 9) pour commencer sur la 2° ligne, sinon, début en ligne 11
- Range("A" & Flig & ":" & "D" & Flig + 8).Copy (Je me suis posé la
question sur ton ":D" qui passe mal par OE ;-) )
Je te remercie sincèrement.
Bien cordialement,
Patrick.
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count '- 1
If Sheets(Feuille).Name <> "TOTAL" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 9 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 9 * (i - 1)
Range("A" & Flig & ":" & "D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig - 9, Fcol).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Range("A1:I1").Select
Selection.AutoFilter
Application.ScreenUpdating = True
End SubBonsoir Patrick,
Essaie ceci pour voir ( à mettre dans un module standard )
A adapter bien sûr
Sub zzz()
Dim wsEnCours As Worksheet
Application.ScreenUpdating = False
For Feuille = 1 To ThisWorkbook.Sheets.Count - 1
If Sheets(Feuille).Name <> "Total" Then
Sheets(Feuille).Select
Set wsEnCours = ActiveSheet
Fcol = 1
TLig = 2 + 11 * (Feuille - 1)
For i = 1 To 17
Flig = 2 + 11 * (i - 1)
Range("A" & Flig & ":D" & Flig + 8).Copy
Sheets("Total").Activate
Cells(TLig, Fcol).Select
ActiveSheet.Paste
Fcol = Fcol + 5
wsEnCours.Select
Next i
End If
Next Feuille
Sheets("Total").Select
Cells(1, 1).Select
Application.ScreenUpdating = True
End Sub
"Patrick BASTARD" a écrit dans le
message de news: %23xjFsKl%Bonjour à tous.
Grand merci à qui voudra bien m'aider à modifier ce code pour qu'il
copie chacune des 17 zones (A2:D10, A13:D21, ...) d'un nombre de
feuilles entre 28 et 31 (suivant les mois) sur la feuille "TOTAL",
de manière à ce que les premières (A2:D10) soient les unes sous les
autres à partir de la cellule A2, les deuxièmes les unes sous les
autres à partir de la cellule F2, etc...
Un titre est déja inscrit dans les cellules de la ligne 1.
J'ai pensé à une boucle pour décaler chaque zone à copier (en la
définissant avec offset? ) mais ça dépasse mes connaissances
actuelles. Question subsidiaire :
Dans un cas comme celui-ci, est-il plus judicieux de traiter chaque
zone de la première feuille, puis de la suivante, ou bien la
première zone de chaque feuille, puis la zone suivante?
Bien cordialement,
Patrick.
Sub Recopie()
For f = 1 To 8
'modifier pour compter le nb réel de feuilles dans le classeur(-1
pour "TOTAL")
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + f).Select
Range("A2:D10").Copy
Sheets("TOTAL").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
'ici, la sélection se fait sur "TOTAL", et non sur la bonne feuille
Range("A13:D21").Copy
Sheets("TOTAL").Select
Range("f65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Next f
Range("A1:I1").Select
Selection.AutoFilter
End Sub
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
ben c'est pas mieux !
tu es sur qu tu n'as pas ms un truc qui limite la taille des messages
que tu envoies ;-)
j'ai jamais eu ce pb avec thunderbird sur PC... Ah les macs (vieux débat !)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 15/01/2005 11:57, :Cela recommence ;-(( Message encore tronqué ; en voici la fin :
ben c'est pas mieux !
tu es sur qu tu n'as pas ms un truc qui limite la taille des messages
que tu envoies ;-)
j'ai jamais eu ce pb avec thunderbird sur PC... Ah les macs (vieux débat !)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 15/01/2005 11:57, :
Cela recommence ;-(( Message encore tronqué ; en voici la fin :
ben c'est pas mieux !
tu es sur qu tu n'as pas ms un truc qui limite la taille des messages
que tu envoies ;-)
j'ai jamais eu ce pb avec thunderbird sur PC... Ah les macs (vieux débat !)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 15/01/2005 11:57, :Cela recommence ;-(( Message encore tronqué ; en voici la fin :