galopin01 | bonsoir, en l'absence de réponse, j'ai considéré que la réponse à ma précédente question était oui !
La macro suivante répond à ton besoin : Toutes les feuilles qui précèdent "Janvier "sont ventilées sur les mois et dates respectives.
Il faut que toutes les feuilles "Mois" existe, car il n'y a pas de gestion d'erreur.
De plus les feuilles "Mois" doivent se trouver dans leur ordre naturel (janvier, février...) car pour simplifier le code, le numéro de chaque mois à été utilisé pour indexer les feuilles... Code :
- Sub Galopin()
- Dim i%, j%, k%, iRS%, iTC%, z$
- Application.Calculation = xlManual
- i = Worksheets("janvier" ).Index
- For j = 1 To i - 1 'Pour chaque agent
- With Worksheets(j)
- z = .Name
- For iMth = 1 To 12
- Worksheets(iMth + i - 1).Cells(j + 1, 1) = z
- Next
- For k = 1 To 34 Step 3 'pour chaque mois
- iRS = 5 'iRowSource
- iTC = 2 'iTargetColumn
- Do While .Cells(iRS, k) <> "" 'pour chaque jour du mois
- .Range(.Cells(iRS, k + 1), .Cells(iRS, k + 2)).Copy _
- Worksheets(((k + 2) / 3) + i - 1).Cells(j + 1, iTC)
- iRS = iRS + 1
- iTC = iTC + 2
- Loop
- Next
- .Calculate
- End With
- Next
- Application.Calculation = xlCalculationAutomatic
- End Sub
|
A+
---------------
roger
|