Private Sub CommandButton1_Click()
Private Sub CommandButton1_Click()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim NC As Integer 'déclare la variable NC (Nombre de Cellules)
Dim NB As Integer 'déclare la variable NB (Nombre de Boîtes)
Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
For I = 1 To DL 'boucle sur toutes les lignes I de 1 à DL
If O.Cells(I, "A").Value <> "" Then 'condition : si la cellule colonne A de la boucle n'est pas vide
NC = O.Cells(I, "A").MergeArea.Cells.Count 'définit le nombre de cellule de la la cellule fusionnée ou pas
NB = Application.WorksheetFunction.Sum(O.Cells(I, "B").Resize(NC, 1)) 'calcule la somme des boîtes NB
O.Cells(I, "A").Value = "'1/" & NB 'modifie le texte dans la cellule A de la boucle en le remplaçant par 1/NB
I = I + (NB - 1) 'redéfinit I (saute les lignes fusionnées)
End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub