Boutons RESET pour restaurer
Résolu
Loic74
-
june -
june -
Bonjour,
Suite à la création d'une fiche de rappel, je cherche le code pour mes boutons RESET,
sachant que je suis avec activesX pour ces boutons et mes cases à cocher.
Je m'explique, j'ai 20 cases à cocher activeX et 2 boutons RESET.
1 bouton RESET pour 10 cases à cocher et 2e bouton RESET pour les 10 autres cases.
Une idée ?
Suite à la création d'une fiche de rappel, je cherche le code pour mes boutons RESET,
sachant que je suis avec activesX pour ces boutons et mes cases à cocher.
Je m'explique, j'ai 20 cases à cocher activeX et 2 boutons RESET.
1 bouton RESET pour 10 cases à cocher et 2e bouton RESET pour les 10 autres cases.
Une idée ?
16 réponses
-
Bonjour,
Au plus simple: ici pour deux fois 3 cases
Private Sub CommandButton1_Click()
Feuil1.CheckBox1.Value = 0
Feuil1.CheckBox2.Value = 0
Feuil1.CheckBox3.Value = 0
End Sub
Private Sub CommandButton2_Click()
Feuil1.CheckBox4.Value = 0
Feuil1.CheckBox5.Value = 0
Feuil1.CheckBox6.Value = 0
End Sub -
Merci de la réponse mais ca affiche Erreur de compilation, Membre de méthode ou de donnée introuvable.
En me surlignant CheckBox1 pour ma case n1 s'appelle bien CheckBox1 -
Re,
Le nom de la feuille est feuil1 ?????
A defaut ecrire comme ceci avec le nom de la feuille:
Worksheets("Feuil1").CheckBox1.Value = 0 -
Oui j'ai fait attention aussi, il faut pas insérer un code dans les checkbox pour qu'ils reconnaissent le bouton ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re,
essayez ceci:
Worksheets("Feuil1").CheckBox1.Value = 0
reconnaissent le bouton ? ben non !!!! -
Ca marche !!
On peut pas faire plus court (checkbox 1 à checkbox 100) car j'ai aps mal de cases ou dois-je obligatoirement rentrer 1 ligne par ligne comme dans vous venez d'expliquer. -
Re,
C'est la multiplication de cases car au depart vous en avez nommees deux fois 10 et maintenant c'est 100 ????????? -
-
Re,
pour l'instant je ne vois que ceci, a adapter pour chaque boutons
Private Sub CommandButton1_Click()
Dim obj As OLEObject, Nom_Check
Dim Dico_Check As Object
Set Dico_Check = CreateObject("Scripting.Dictionary")
For x = 1 To 50
Dico_Check("CHECKBOX" & x) = x
Next x
For Each obj In ActiveSheet.OLEObjects
If Dico_Check.exists(UCase(obj.Name)) Then
obj.Object.Value = 0
End If
Next obj
Set Dico_Check = Nothing
End Sub
Y a peut-etre plus simple mais ca ne me vient pas pour le moment -
-
Re,
J'ai retrouve plus simple (equivalant de Me.Controls("CHECKBOX" & x).Value=False pour les userforms):
Private Sub CommandButton1_Click()
For x = 1 To 6
ActiveSheet.OLEObjects("CHECKBOX" & x).Object.Value = False
Next x
End Sub -
Impeccable !!
Une dernière petite question .. quelle est la différence entre formulaire et activeX ? -
Re,
objets sur feuille de calcul, simplement:
Objet Control de Formulaire: vous devez affecter une macro, qui sera dans un module. Si vous faites un click droit vous pouvez modifier ou affecter des elements notamment dans format du controle.
Objet Control ActivX: affectation des proprietes sur click droit, double click pour avoir les deux lignes de code depart et VBA sur la feuille ou se trouve l'objet
Les personnes qui utilisent des Userforms, prendrons plus les controls activX sur les feuille de calcul puisque ce sont les memes. Mais pour les deux sortes de control sur feuilles, la programmation du genre que vous avez demandee, n'est pas tres intuitive.
Un peu de lecture:
https://support.microsoft.com/en-us/office/overview-of-forms-form-controls-and-activex-controls-on-a-worksheet-15ba7e28-8d7f-42ab-9470-ffb9ab94e7c2?ocmsassetid=ha010237663&correlationid=20758945-8dd6-486e-9b36-1b62471c5a71&ui=en-us&rs=en-us&ad=us -
Merci c'est toujours bon à prendre.
Si je veux créé une dernier bouton RESET et actionnera tous les boutons RESET que je viens de créér. Quel est son code ? -
Bonjour,
Vous appelez les sub de chaque boutons:
Private Sub CommandButton3_Click()
CommandButton1_Click
CommandButton2_Click
End Sub -