1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| Sub Macro2013_bis()
Dim Dl As Range, x As Long, y As Long, z As Long
Dim Cpte As Long, NomF As Worksheet
Dim Tb2013, TbMensuel
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
With Sheets("Annee_2013")
.Range("D9:O32") = Null 'ici remettre toutes les colonnes _
quand le fichier aura toutes ses feuilles donc ".Range("D9:O32") = Null"
Tb2013 = .Range("B9:O32") 'ici remettre toutes les colonnes _
quand le fichier aura toutes ses feuilles donc ".Range("B9:O32") = Null"
For x = 1 To 12 'ici remettre 12 quand toutes les feuilles seront réintégrées
If x < 10 Then
Set NomF = Sheets("2013_0" & x)
Else
Set NomF = Sheets("2013_" & x)
End If
TbMensuel = NomF.Range("L2", NomF.Range("L" & NomF.Rows.Count).End(xlUp))
For y = 1 To UBound(Tb2013, 1)
For z = 1 To UBound(TbMensuel, 1)
If Tb2013(y, 1) = TbMensuel(z, 1) Then Cpte = Cpte + 1
Next z
Tb2013(y, x + 2) = Cpte
Cpte = 0
Next y
Set Dl = NomF.Range("A" & NomF.Rows.Count).End(xlUp)
.Cells(8, x + 3) = WorksheetFunction.CountIfs(NomF.Range("A2", Dl), "<>", NomF.Range("L2", Dl(1, 12)), "")
Next x
.Range("B9").Resize(UBound(Tb2013, 1), UBound(Tb2013, 2)) = Tb2013
End With
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub |
Partager