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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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èmemais 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 !
Partager