Bonjour chers maîtres du VBA
La formule pour la colonne B de la feuille Sommaire est incorrecte. Elle additionne + 1 le nombre de fois qu'un employé fut requis. Par exemple, j'ai 17 fois le nom d'un employé dans le Registre, mais au sommaire il en compte 18!
Quelle serait la correction à apporter au code.
merci
Option Explicit
Private Sub Worksheet_Activate()
Dim DerLig As Integer, Référence As String, i As Integer, j As Integer
Dim Compteur_C As Integer, Compteur_D As Integer, Compteur_E As Integer, Compteur_F As Integer, Compteur_G As Integer, Compteur_H As Integer
Application.ScreenUpdating = False
DerLig = Range("A" & Rows.Count).End(xlUp).Row
Range("B4:H" & Rows.Count).ClearContents
For i = 4 To DerLig
Référence = Range("A" & i)
With Sheets("Registre")
Range("B" & i) = Application.WorksheetFunction.CountIf(.Range("C:C"), Référence)
For j = 6 To .Range("C" & Rows.Count).End(xlUp).Row
If .Range("C" & j) = Référence Then
If .Range("I" & j) = "R" Then Compteur_C = Compteur_C + 1
If .Range("J" & j) = "R" Then Compteur_D = Compteur_D + 1
If .Range("K" & j) = "Raison personnelle" Then Compteur_E = Compteur_E + 1
If .Range("K" & j) = "Sans raison" Then Compteur_F = Compteur_F + 1
If .Range("K" & j) = "Travaille déjà" Then Compteur_G = Compteur_G + 1
If .Range("K" & j) = "Trop hrs/semaine" Then Compteur_H = Compteur_H + 1
End If
Next j
Range("C" & i) = Compteur_C
Range("D" & i) = Compteur_D
Range("E" & i) = Compteur_E
Range("F" & i) = Compteur_F
Range("G" & i) = Compteur_G
Range("H" & i) = Compteur_H
End With
Compteur_C = 0
Compteur_D = 0
Compteur_E = 0
Compteur_F = 0
Compteur_G = 0
Compteur_H = 0
Next i
End Sub