CheckBox inactives suite à macro value=false

Résolu/Fermé
MF - Modifié le 4 sept. 2018 à 11:14
 MF - 4 sept. 2018 à 13:25
Bonjour,

J'ai créé un formulaire avec 9 CheckBox.
Je voudrais pouvoir réinitialiser le formulaire grâce à un macro.
J'ai créé celle ci-dessous (les 4 dernières lignes ne concernant pas le "décochage" des CheckBox):
Sub Ex_restart()
'
' Ex_restart Macro
'

'
    Sheets("Export").Select
    Worksheets("Export").CheckBox1.Value = False
    Worksheets("Export").CheckBox2.Value = False
    Worksheets("Export").CheckBox3.Value = False
    Worksheets("Export").CheckBox4.Value = False
    Worksheets("Export").CheckBox5.Value = False
    Worksheets("Export").CheckBox6.Value = False
    Worksheets("Export").CheckBox7.Value = False
    Worksheets("Export").CheckBox8.Value = False
    Worksheets("Export").CheckBox9.Value = False
    Sheets("Export").Select
    Rows("6:24").Select
    Selection.EntireRow.Hidden = True
    Range("A1:G1").Select
 
    
End Sub



EDIT : Ajout des BALISES DE CODE


Quand je lance ma macro restart, tout se passe bien et les CheckBox sont décochées.
Cependant, il devient alors impossible de cocher à nouveau ces CheckBox.


Existerait-il une solution pour "réactiver" la possibilité de ces CheckBox après lancement de la macro ?


Merci d'avance pour votre aide !
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
4 sept. 2018 à 11:22
Bonjour,

Rien ne semble empêcher les checkbox de refonctionner après cette macro.
par contre, elle serait un peu mieux écrite de cette façon (à tester)
Sub Ex_restart()
'
' Ex_restart Macro
'
    Dim Sh As Worksheet
    Set Sh = Worksheets("Export")
    
    With Sh
     .CheckBox1.Value = False
     .CheckBox2.Value = False
     .CheckBox3.Value = False
     .CheckBox4.Value = False
     .CheckBox5.Value = False
     .CheckBox6.Value = False
     .CheckBox7.Value = False
     .CheckBox8.Value = False
     .CheckBox9.Value = False
    
     .Rows("6:24").EntireRow.Hidden = True
     .Range("A1:G1").Select
    End With
    
End Sub



NB: Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Merci Jordan pour ton retour. J'ai modifié le code et ça fonctionne toujours, mais toujours impossible de cocher les cases ensuite.

En gratouillant un peu, je me suis rendue compte qu'en dissociant les 9 CheckBox (qui étaient groupées), je peux de nouveau les cocher.
Si je lance à nouveau la macro restart, CheckBox de nouveau bloquées mais si je les regroupe je peux à nouveau cliquer dessus.

Est-ce que le problème pourrait venir de là ?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > MF
4 sept. 2018 à 11:55
Heu..oui. Je pense que le fait de les grouper alterE leur fonctionnement;
0
Jordane,
Merci pour ton aide. Etant donné que ça ne marchait pas en dissociant les CheckBox, je les ai supprimées et recréées et tout fonctionne maintenant !
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 4 sept. 2018 à 11:43
Bonjour,

on peut faire plus court voir ceci:

https://docs.microsoft.com/fr-FR/office/vba/excel/Concepts/Controls-DialogBoxes-Forms/using-activex-controls-on-sheets

Private Sub essai()
Dim s As Shape
For Each s In Worksheets("Export").Shapes
    If s.Type = msoOLEControlObject Then ActiveSheet.OLEObjects(s.Name).Object.Value = False
Next
End Sub


voilà



0