1 pièce(s) jointe(s)
Modification ".Caption" (ou ".Texte") d'une CheckBox suite à son activation
Bonjour,
Dans le cadre de mes études, j'ai voulu créer un tableau excel qui renseigne sur le nombre de fois que j'ai récité un cours grâce à des CheckBox notamment avec une indication de la date associée à cette "couche" d'apprentissage.
Je souhaiterai modifier le texte (mettre une date) d'une CheckBox lorsque celle-ci est cochée (une fois coché, ".Texte" contient la date actuelle). J'ai déjà créé un code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub CheckBox_Dated():
Dim Current_Date As Date
Dim ChkBx As CheckBox
Dim Current_Date_String As String
Current_Date = Date
Current_Date_String = Format(Current_Date, "dd/mm/yyyy")
If Worksheets("Feuil1").Activate Then
For Each ChkBx In ActiveSheet.CheckBoxes
If ChkBx.Value = 1 Then
ChkBx.Text = Current_Date_String
Else
ChkBx.Text = ""
End If
Next
End If
End Sub |
Le problème de ce code est qu'il modifie le texte de tout les CheckBox activées donc on perte les informations relatives des CheckBox ayant été déjà cocher précédemment (date antérieur). Je comprend très bien pourquoi. Le problème est que je ne trouve pas de propriété de Checkbox qui permet de dire si cette dernière vient d'être cochée ou quelque chose qui permet cela.
Je me document énormément sur ce lien : https://msdn.microsoft.com/fr-fr/lib...roperties.aspx.
J'ai appris l'existence d’événement comme par exemple "Checkbox.CheckedChanged". Cependant, je n'arrive pas à maîtriser ces notions malgré les informations données par le site de Microsoft. :? Et je ne sait pas si elles peuvent régler mon problème.
J'ai débuter VBA d'Excel il y a 1 semaine et j'ai juste des notions de bases en programmation. J'ai étudié les bases Python dans le cadre d'étude en Biologie mais cela m'aide peu. J'espère que vous serez indulgents ! :)
NB : Fichier en pièce-jointe.
La fonction suppression n'est pas fonctionnelle dans mon fichier (un autre problème :? mais secondaire). Le bouton CheckBox créé des CheckBox dans la sélection de cellule faite au curseur. Et Datage est un bouton associé à la macro CheckBox_Dated() = sujet de cette discussion.
Je vous remercie par avance pour l'attention que vous porterez à mon problème !