VBA - création-suppression participant - case à cocher

Bonjour,

Je souhaite créé une macro dans laquelle je crée des participants. Sur la ligne de ce participant créé les cases à cocher sont aussi créées en colonne b et c.

Jusque là tout va bien.

Ma problématique se trouve à la suppression. S'il me reste plus qu'un participant que je supprime, le participant est bien supprimé en revanche les cases à cocher restent bien visibles et ne sont pas supprimées.

Lorsque je teste avec plusieurs participants les cases à cocher se suppriment. Je précise bien que c'est avec le dernier participant supprimé que le symptôme des cases à cocher ne disparaissent pas.

Avez-vous une idée pour que cela ne se produise pas ?

Par avance merci de votre aide et soutien.

9participant.xlsm (27.94 Ko)

Bonjour

Je te propose une gestion des joueurs par userform (formulaire)

Si nouveau joueur tu saisie son nom ...

10participant.xlsm (31.40 Ko)

A+ François

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

Bonjour Messieurs,

Je m'excuse pour le retard vos 2 méthodes fonctionnent parfaitement. Un grand merci à vous.

Je reviendrai certainement vers vous car je pense que j'aurai besoin encore de vos lumières en fonction du projet que je veux monter.

Un grand grand merci pour vos lumières

Rechercher des sujets similaires à "vba creation suppression participant case cocher"