Réinitialisation apparence Userform
Salut les accros du VBA,
Je "m’amuse" un peu avec les Userform en ce moment. J'ai un UserForm qui va changer d'apparence suivant 3 configurations:
Tout bouge bien sauf que j'aimerai, quand je supprime le numéro et que la première case redevient vide, que la UserForm revienne à sa configuration d'origine. J'ai bidouillé ce code qui remet en manuel toutes les cases comme il faut mais c'est quand même rapidement lourd.. Je me demande s'il n'y a pas une formule toute faite du genre Clear qui réinitialise le Userform ? J'ai cherché et testé mais sans succès pour l'instant
Private Sub TextBoxNuméroDevis_Change()
'Déclaration des variables
Dim ColonneDevis As Object
Dim Recherche As Object
Dim Ligne As Long
Dim Réponse As Integer
'Recherche de la ligne devis
Set ColonneDevis = Liste_DT.Columns("A")
Set Recherche = ColonneDevis.Find(What:=TextBoxNuméroDevis)
Label2.Visible = True
Label3.Visible = True
ComboBoxCatégorie.Visible = True
ComboBoxDeviseur.Visible = True
Label2.Top = 42
Label3.Top = 66
ComboBoxCatégorie.Top = 36
ComboBoxDeviseur.Top = 60
btnValider.Top = 90
btnQuitter.Top = 90
UserForm_Compléter_Devis.Height = 165
If TextBoxNuméroDevis = "" Then
Exit Sub
End If
If Recherche Is Nothing Then
MsgBox "Le devis " & TextBoxNuméroDevis & " n'existe pas.", vbExclamation, "Erreur"
TextBoxNuméroDevis = ""
Else
Ligne = Recherche.Row
If Liste_DT.Cells(Ligne, "B") <> "Non définie" And Liste_DT.Cells(Ligne, "I") <> "Non défini" Then
MsgBox "Le devis " & TextBoxNuméroDevis & " n'a pas de données manquantes.", vbExclamation, "Erreur"
Réponse = MsgBox("Voulez-vous remplacer des données ?", vbQuestion + vbYesNo, "Modifier ?")
If Réponse = vbYes Then
MsgBox "Oui"
Else
Exit Sub
End If
TextBoxNuméroDevis = ""
Else
If Liste_DT.Cells(Ligne, "B") <> "Non définie" Then
Label2.Visible = False
ComboBoxCatégorie.Visible = False
Label3.Top = 42
ComboBoxDeviseur.Top = 36
btnValider.Top = 66
btnQuitter.Top = 66
UserForm_Compléter_Devis.Height = 140.25
Else
If Liste_DT.Cells(Ligne, "I") <> "Non défini" Then
Label3.Visible = False
ComboBoxDeviseur.Visible = False
btnValider.Top = 66
btnQuitter.Top = 66
UserForm_Compléter_Devis.Height = 140.25
End If
End If
End If
End If
Set ColonneDevis = Nothing
Set Recherche = Nothing
End SubMerci pour votre aide
Bonsoir
Un fichier serait le bienvenu pour y voir clair
Crdlt
Bonjour,
"Je me demande s'il n'y a pas une formule toute faite du genre Clear qui réinitialise le Userform ? "
Effectivement on ne s'amuse pas à vider chacune des cases d'un userform aprés validation. on le ferme et on le réouvre dans la foulée.
Unload me
userform1.showJoco,
J'ai préféré éviter de mettre le fichier car il y avait beaucoup plus de Sub dedans.
Xmenpl,
C'était tellement évident que je suis passé à côté...
Le seul truc qui est dommage c'est que du coup on voit le rechargement contrairement à la modification d'apparence qui est instantanée. Vilain côté perfectionniste.