Copier plage de données avec intervalles régulières
Bonjour,
Nous rencontrons un problème!
Nous avons un fichier excel 2013, contenant 56 feuilles de données au total. Chaque feuille suit la même organisation de tableurs.
Nous voulons créer une feuille regroupant des informations (données de sportive collectées hebdomadairement) ses dernières se trouvant exactement à la même place sur chacune des autres feuilles.
Dans un premier temps, nous voulons collecter toutes les données du Lundi s'étalant sur 56 feuilles (1 an). Ces données se trouvent sur chaque feuille à la plage de cellule A48:A61. Nous voulons copier chacune de ces plages de chaque feuille sur notre nouveau fichier (transposition vertical vers horizontal, avec les dates à gauche en colonne). Comme nous voulons d'abord s'intéresser uniquement au lundi, nous voulons transférer ces données tout en créant une intervalle régulière de 6 jours (Lundi avec données puis en dessous 6 lignes vides et ça recommence). Ensuite, nous appliqueront cela au mardi (C48:C61), puis au mercredi (E48:E61), etc.
Pour l'instant, nous avons testé plusieurs macros, sans réussites particulières.. :
Sheets(Array("3 au 9 avril", "10 au 16 Avril").Select Replace:=False
Range("B48:B61").Select
Selection.Copy
Sheets("NOUVELLE FEUILLE").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Comment pouvons-nous construire une macro qui s'applique à chaque feuille avec des intervalles régulières? Merci beaucoup pour votre aide.
Bonjour marcusfraga,
Si possible est-ce que tu peux
Même avec des données anonymes. Pour qu'on puisse adapter ta demande.
Bonne soirée
Désolé du délai.
Voici le fichier comme vous avez demandé.
La macro que nous avons écrite pour ce fichier est la suivante.
Sub Macro1()
'
' Macro1 Macro
Range("A1").Select
ActiveCell.FormulaR1C1 = "Dates"
Range("A2").Select
ActiveCell.FormulaR1C1 = "4/3/2017"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A213"), Type:=xlFillDefault
Range("A2:A213").Select
'
Sheets.Add After:=ActiveSheet
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "Athlète1"
Sheets("Semaine1").Select
Range("A6:A19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Lundi
Sheets("Semaine1").Select
Range("B6:B19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Mardi
Sheets("Semaine1").Select
Range("D6:D19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Mercredi
Sheets("Semaine1").Select
Range("F6:F19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B4").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Jeudi
Sheets("Semaine1").Select
Range("H6:H19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Vendredi
Sheets("Semaine1").Select
Range("J6:J19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Samedi
Sheets("Semaine1").Select
Range("L6:L19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
'Dimanche
Sheets("Semaine1").Select
Range("N6:N19").Select
Selection.Copy
Sheets("Athlète1").Select
Range("B8").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
' Maintenaint, nous souhetons améliorer cette macro en la répétant pour l'athlète1 sur toute l'année (toutes les feuilles) : nous souhetons que les données pour chaque jours de la feuille "semaine2" suivent celles de la feuille "semaine1", tout en gardant la bonne chronologie (donc +7lignes)
' Ensuite, nous souhetons effectuer cela pour chaque athlète (athlète2, athlète3, etc.)
Merci beaucoup!
Salut à toi,
Regarde en PJ qui répond à ta première demande : Maintenant, nous souhaitons améliorer cette macro en la répétant pour l'athlète1 sur toute l'année (toutes les feuilles)
Bonne soirée