Sub Macro1()
Dim dico As Object 'déclare la variable dico (DICtiOnnaire)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim temp As Variant 'déclare la variable temp (tabelau TEMPoraire)
Dim x As Long 'déclare la variable x (incrément)
'déclare le variables lu, ma, mc, je, ve, sa, di (LUndi, MArdi. MerCredi, JEudi, VEndredi, SAmedi, DImanche)
Dim lu As Integer, ma As Integer, mc As Integer, je As Integer, ve As Integer, sa As Integer, di As Integer
Set dico = CreateObject("Scripting.Dictionary") 'définit le dictionnaire dico
'boucle sur toutes les cellules de la plage B5:B... dernière ligne éditée
For Each cel In Range("B5:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row)
dico(cel.Value) = "" 'alimente le dictionnaire dico
Next cel 'prochaine cellule de la boucle
temp = dico.keys 'récupère les valeurs sans doublon
For x = 0 To UBound(temp) 'boucle sur toutes les valeur uniques
Select Case Format(temp(x), "dddd") 'action en fonction du jour de la semaine de la valeur unique
Case "lundi" 'cas "lundi"
lu = lu + 1 'incrémente la variable lu
Case "mardi" 'cas "mardi"
ma = ma + 1 'incrémente la variable ma
Case "mercredi" 'cas "mercredi"
mc = mc + 1 'incrémente la variable mc
Case "jeudi" 'cas "jeudi"
je = je + 1 'incrémente la variable je
Case "vendredi" 'cas "vendredi"
ve = ve + 1 'incrémente la variable ve
Case "samedi" 'cas "samedi"
sa = sa + 1 'incrémente la variable sa
Case "dimanche" 'cas "dimanche"
di = di + 1 'incrémente la variable di
End Select 'fin de l'action en fonction de ...
Next x 'prochaine valeur unique de la boucle
'placement des valeurs dans la colonne D
Cells(5, 4).Value = lu 'place le nombre des lundi en D5
Cells(6, 4).Value = ma 'place le nombre des mardi en D6
Cells(7, 4).Value = mc 'place le nombre des mercredi en D7
Cells(8, 4).Value = je 'place le nombre des jeudi en D8
Cells(9, 4).Value = ve 'place le nombre des vendredi en D9
Cells(10, 4).Value = sa 'place le nombre des samedi en D10
Cells(11, 4).Value = di 'place le nombre des dimanche en D11
End Sub