Sub actualiser_471()
'ThisWorkbook.Save
'Sheets("Charge 471").Calculate
'Sheets("Graph").Calculate
'Sheets("Graph2").Calculate
Sheets("Graph").Select 'à priori inutile car lancé à partir de la feuille Graph..??
'ActiveSheet.UsedRange.Select
'Supprimer erreur ou "t" sur centre de charge "A"
With Sheets("Graph")
derlig = .Range("A" & .Rows.Count).End(xlUp).Row 'on récupère la dernière ligne de la colonne A (peut contenir une formule)
.Range("A3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])" 'on colle en A3 la formule =nbval(B3:B37) pourquoi 37 ?
.Range("D3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])"
.Range("G3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])"
.Range("J3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])"
.Range("M3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])"
.Range("P3").FormulaR1C1 = "=COUNTA(RC[1]:R[34]C[1])"
'Le reste de code
For I = 4 To 7
If UCase(.Range("E" & I)) = "T" Then .Range("D4:F7").ClearContents 'on supprime juste les t et T? pas d'erreur? et pas la meme boucle for i que pour les autres charges?
Next I
.Range("A4:C" & derlig).Sort .Range("B4"), xlAscending 'tri des colonnes A B et C selon date colonne B = Charge A
.Range("D4:F" & derlig).Sort .Range("E4"), xlAscending 'tri des colonnes D E et F selon date colonne E = Charge B
.Range("G4:I" & derlig).Sort .Range("H4"), xlAscending 'tri des colonnes selon date colonne E = Charge C
.Range("J4:L" & derlig).Sort .Range("K4"), xlAscending 'tri des colonnes selon date colonne E = Charge D
.Range("M4:O" & derlig).Sort .Range("N4"), xlAscending 'tri des colonnes selon date colonne E = Charge E
.Range("P4:R" & derlig).Sort .Range("Q4"), xlAscending 'tri des colonnes selon date colonne E = Charge F
'Supprimer erreur ou "t" sur les centres de charge "B à F"
For col = 4 To 16 Step 3 '4=colonne D --> 16=colonne P
x = .Cells(3, col)
For I = 4 To x + 4
If IsError(.Cells(I, col + 1)) Then .Cells(I, col).Resize(1, 3).ClearContents 'efface les erreurs
If UCase(.Cells(I, col + 1)) = "T" Then .Cells(I, col).Resize(1, 3).ClearContents 'efface les t et T
Next I
Next col
End With
'************************************************************************************************************************************************
'Trier les Charges
For I = 1 To 16 Step 3 '1 = Colonne A -->16 = Colonne P
Fin = Cells(4, I).End(xlDown).Row - 3
Cells(4, I).Resize(Fin, 3).Select
ActiveWorkbook.Worksheets("Graph").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Graph").Sort.SortFields.Add Key:=Cells(4, I + 1), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Graph").Sort
.SetRange Cells(4, I).Resize(Fin, 3) 'Range("A4:C1048576") ---->Pourquoi 1048576 ?
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next I
Sheets("Charge 471").Calculate
Sheets("Graph").Calculate
Sheets("Graph2").Calculate
Sheets("Charge 471").Select 'inutile si on y est déjà.. commme en début de macro
End Sub