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.)

19exemple-excel.xlsx (65.55 Ko)

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)

47marcusfraga.xlsm (86.67 Ko)

Bonne soirée

Rechercher des sujets similaires à "copier plage donnees intervalles regulieres"