Autres vider USF a chaque changement de ComboBox

chaelie2015

XLDnaute Accro
Bonsoir Forum
VB:
Private Sub cmbx_NuméroContrat_Change()
If cmbx_NuméroContrat.Value <> "" Then btn_Rechercher.Visible = True
Unload UserForm2
UserForm2.Show 0
End Sub
Je souhaite a chaque changement du contenu du la comboBox"cmbx_NuméroContrat" mon USF ce vide.
A+
 

Staple1600

XLDnaute Barbatruc
Re

Un exemple à tester
VB:
Sub Erazor()
 Dim ctl As MSForms.Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
                ctl.ListIndex = -1
        End Select
    Next ctl
End Sub

Private Sub ComboBox1_Change()
Call Erazor
End Sub
 

chaelie2015

XLDnaute Accro
Re

Un exemple à tester
VB:
Sub Erazor()
Dim ctl As MSForms.Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
                ctl.ListIndex = -1
        End Select
    Next ctl
End Sub

Private Sub ComboBox1_Change()
Call Erazor
End Sub
Re désolé JM🙃
Je m'explique
j'ai une combobox nommée "cmbx_NuméroContrat" dans USF je l’utilisé pour faire des recherches , je souhaite une fois remodifier le contenu de cmbx_NuméroContrat les contrôles de USF ce vide automatiquement.
a+
 

chaelie2015

XLDnaute Accro
Re
oui mais ce n'est pas ce que j'ai souhaité
j'ai utilisé ce code
VB:
Private Sub cmbx_NuméroContrat_Change()
If cmbx_NuméroContrat.Value <> "" Then btn_Rechercher.Visible = True
If cmbx_NuméroContrat.Value = "" Then
Unload UserForm2
UserForm2.Show 0
End If
ça fonctionné ;)
est ce qu'il peut être modifié plus simple.

a+
 

Staple1600

XLDnaute Barbatruc
Re

Test OK chez moi
VB:
Private Sub cmbx_NuméroContrat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call Erazor
End Sub

Sub Erazor()
 Dim ctl As MSForms.Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
            If ctl.Name <> "cmbx_NuméroContrat" Then
                ctl.ListIndex = -1
            End If
        End Select
    Next ctl
End Sub
 

chaelie2015

XLDnaute Accro
Re

Test OK chez moi
VB:
Private Sub cmbx_NuméroContrat_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Call Erazor
End Sub

Sub Erazor()
Dim ctl As MSForms.Control
    For Each ctl In Me.Controls
        Select Case TypeName(ctl)
            Case "TextBox"
                ctl.Text = ""
            Case "CheckBox", "OptionButton", "ToggleButton"
                ctl.Value = False
            Case "ComboBox", "ListBox"
            If ctl.Name <> "cmbx_NuméroContrat" Then
                ctl.ListIndex = -1
            End If
        End Select
    Next ctl
End Sub
Re
ok merci pour la réponse🥺
Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re

???
Pourquoi ce smiley triste?
J'ai testé en renommant le combobox comme tu me l'as dit
Et j'ai testé comme suit:
Tous les contrôles (sauf le combobox) sont remis à zéro sur l'userform
quand on choisit une valeur dans le combobox et qu'on sort de celui-ci.
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou