Bonjour,
Quelques petites suggestions
pourquoi dans la création de tes checkbox dans le module 1 ne pas les nommer, comme ceci :
' Créer la case à cocher centrée dans la colonne B (2ème colonne) sans texte
Set cellB = newRow.Range.Cells(1, 2)
Set checkBoxB = ws.CheckBoxes.Add(cellB.Left + cellB.Width / 2 - 10, cellB.Top + cellB.Height / 2 - 10, 20, 20)
checkBoxB.Text = ""
checkBoxB.Name = "chk1" & nomParticipant
' Créer la case à cocher centrée dans la colonne C (3ème colonne) sans texte
Set cellC = newRow.Range.Cells(1, 3)
Set checkBoxC = ws.CheckBoxes.Add(cellC.Left + cellC.Width / 2 - 10, cellC.Top + cellC.Height / 2 - 10, 20, 20)
checkBoxC.Text = ""
checkBoxC.Name = "chk2" & nomParticipant
Tu pourras plus facilement les supprimer sans nécessité l'utilisation d'une boucle For comme ceci :
For Each playerRow In tableRange.ListColumns(1).DataBodyRange.Rows
'If playerRow.Value = playerName Then
' Supprimer toutes les cases à cocher dans les colonnes B et C
ActiveSheet.Shapes("chk2" & playerName).Delete
ActiveSheet.Shapes("chk1" & playerName).Delete