Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Checkbox_click qui s'execute toute seule ! (non désiré)

Azuveus

XLDnaute Nouveau
Bonjour les amies du Net,

Aujourd'hui, j'ai un petit problème avec mon programme,
Sur une Userform j'ai parmi d'autre Button, Textbox, Etc. quatre Checkbox :

exemple :
VB:
Private Sub CheckBox25_Click() 'LIVRAISON STOCK
       
        If CheckBox25.Value = True Then
        Exit Sub
        Else
        TextBox61.Value = "Appareil(s) livré(s) au stock."
        CheckBox25.Value = True
        CheckBox25.Enabled = False
        'Update commentaire
        UpdateCom
        End If
End Sub

Il s'avere que cette Useform me sert a afficher des informations d'un seul client a la fois et que par conséquences elle sont unique au client.
J'ai créé (sur ma Userform) deux boutons (client suivant, client précédent) qui me permette de naviguer entre plusieurs clients sans devoir quiter la Useform...
VB:
'FONCTION FICHE SUIVANTE
Sub FICHE_SUIVANTE()
   
    Dim X As Integer
   
    Dim J As Long: J = 1
    Do Until ActiveCell.Offset(J, 0).Rows.Hidden = False
        J = J + 1
    Loop
   
    P = ActiveCell.Offset(J, 0).Value
   
    If P = "" Then
        Exit Sub
    End If
   
    Dim n As Long: n = 1
    Do Until ActiveCell.Offset(n, 0).Rows.Hidden = False
        n = n + 1
    Loop
    ActiveCell.Offset(n, 0).Select
    X = ActiveCell.Row
   
    update_files
   
End Sub

OR ! Lorsque je clique sur Client Précedent / Suivant, la macro SUB Click s'execute! (uniquement si la checkbox du client vu avant été coché).
et lorsque je tente de "reinitialiser la checkbox' la sub s'execute deux fois'...

Je ne comprends vraiment pas pourquoi...

Pourriez vous me venir en aide svp ?
Merci beaucoup d'avance
 

Azuveus

XLDnaute Nouveau
Bonjour Deadpool,

Effectivement je crains être arrivé à la même conclusion. Il s'avère que modifier un checkbox.value dans un sub d'un userform déclenche l'appel du sub "checkbox_click" d'un même userform...

Donc partant de ce constat, le temps de trouver une autre solution viable j'ai mis mes checkbox en enabled (false) et ai créé un bouton qui execute les instructions et qui modifie la value du checkbox en true.

C'est évidemment une parade mais ça a le mérite de fonctionner.
 

patricktoulon

XLDnaute Barbatruc
Bonjour à tous
le contournement du change par macro qui déclenche le click est simple

on teste simplement si c'est bien le control actif dans l'events click

VB:
Private Sub CheckBox1_Click()
If ActiveControl.Name <> "CheckBox1" Then Exit Sub
'ICI le code qui doit s'executer  uniquement lors du click
End Sub
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…