Elles sont effacées après la fin du traitement, dans le code suivant:
Sub Comptage()
Dim DerLig As Long
Dim D As Object
Application.ScreenUpdating = False
Set D = CreateObject("Scripting.Dictionary")
Range("H3:H5").ClearContents
DerLig = Range("A" & Rows.Count).End(xlUp).Row
'Nombre d'élèves disposant d'au moins un diplôme actif
For Each C In Range("A1:A" & DerLig)
If C.Offset(0, 3).Text = "ACTIF" Then
D(C.Text) = ""
If Not D.exists(C.Text) Then D(C.Text) = ""
End If
Next C
If D.Count > 0 Then
Columns("K").Clear
'Range("K1").Offset(1).Resize(D.Count, 1) = Application.Transpose(D.keys)
Range("H3") = D.Count
End If
D.RemoveAll
'Nombre d'élèves diplomés (diplôme actif) dans plusieurs disciplines
With Range("E2:E" & DerLig)
.FormulaR1C1 = "=IF(RC4=""ACTIF"",RC1&"" ""&RC2 &"" ""&RC3&"" ""&RC4,"""")"
.Value = .Value
End With
With Range("F2:F" & DerLig)
.FormulaR1C1 = "=IF(RC5<>"""",SUMPRODUCT((R2C1:RC1=RC1)*(R2C5:RC5<>"""")),"""")"
.Value = .Value
End With
Range("H4").Value = Application.CountIf(Range("F2:F" & DerLig), ">" & 1)
'Nombre d'élèves diplomés (diplôme actif) dans une seule discipline
Range("H5").Value = Range("H3").Value - Range("H4").Value
Columns("E:F").ClearContents
Set D = Nothing
End Sub
il suffit de mettre une apostrophe devant la ligne si vous voulez les voir
Columns("E:F").ClearContents
Cdlt