Propriété non valide et set Focus

Signaler
Messages postés
24
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
15 septembre 2010
-
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour,
si j'applique True dans la propriété MatchRequired de ma Combobox, je ne peux pas afficher un Setfocus dans le Combobox après une mise à zéro de la valeurs précédemment rentrée .Il apparait le message "Propriété non valide" , j'ai bien laisser un blanc dans ma liste mais j'ai le même problème, de plus je dois cliquer 2 fois sur le OK pour sortir de la boite de dialogue ou appuyer sur echap

Merci
 

4 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
Bonjour,

"je ne peux pas afficher un Setfocus dans le Combobox"

Je ne comprends pas le sens de cette phrase ! SetFocus est un événement !!!
Il est clair que si tu as écrit quelquechose du genre :
Combo1(i).setfocus "blabla"  ou combo1.setrfocus "blabla"

VB ne comprend rien à la chose !

Expose avec clarté et précision ce que tu souhaites faire et montre-le code impliqué (celà nous aidera à y voir plus clair...)
Messages postés
24
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
15 septembre 2010

Ok voici une partie de mon projet

Public Sub CmdAjou_Click()
TxtCiv.SetFocus
    If TxtCiv.Value = "" Then
        MsgBox "Veuillez saisir la civilité", vbCritical, "Erreur de saisie"
        TxtCiv.SetFocus                'affiche le curseur dans la zone
        Exit Sub
    End If
   
    If TxtNom.Value = "" Then
        MsgBox "Veuillez saisir le nom", vbCritical, "Erreur de saisie"
        TxtNom.SetFocus
        Exit Sub
    End If
        If TxtCiv.Value "Madame" And TxtFill.Value "" Then
        MsgBox "Veuillez saisir le nom patronymique", vbCritical, "Complément d'information"
        TxtFill.SetFocus
        Exit Sub
    Else
    If TxtCiv.Value <> "Madame" And TxtFill.Value <> "" Then
        MsgBox "Nom patronymique non valide", vbCritical, "Erreur de saisie"
        TxtFill.Value = ""
        TxtPre.SetFocus
        Exit Sub
    End If
    End If

suite....
    Worksheets("Base").Select  'feuille où je crée ma base de donnée
    Range("c2").Select
    Do While ActiveCell.Value <> ""
    ActiveCell.Offset(1, 0).Select
    Loop
   
    ActiveCell.Value = TxtCiv.Value
    ActiveCell.Offset(0, 1).Value = TxtNom.Value
        If TxtFill.Value <> "" Then
        ActiveCell.Offset(0, 2).Value = TxtFill.Value
        End If
 suite....

Mise_à_zéro_formulaire
  
End Sub

'MISE A ZERO DU FORMULAIRE ------------------------------------------------------

Sub Mise_à_zéro_formulaire()
   
    TxtCiv.Value = ""
    TxtNom.Value = ""
    TxtFill.Value = ""
    TxtPre.Value = ""
    TxtNée.Value = ""
    TxtAge.Value = ""
    TxtLie.Value = ""
    TxtAd1.Value = ""
    TxtAd2.Value = ""
    TxtCom.Value = ""
    TxtCodpost.Value = ""
    TxtDip.Value = ""
    TxtPar.Value = ""
    TxtAll.Value = ""
    TxtPri.Value = ""
    Chk1.Value = False
    TxtDeb1.Value = ""
    TxtFin1.Value = ""
    TxtDur1.Value = ""
    Chk2.Value = False
    TxtDeb2.Value = ""
    TxtFin2.Value = ""
    TxtDur2.Value = ""
    Chk3.Value = False
    TxtDeb3.Value = ""
    TxtFin3.Value = ""
    TxtDur3.Value = ""
    TxtMat.Value = ""
    TxtClé.Value = ""
    TxtAff.Value = ""
    TxtSite.Value = ""
    TxtEmp.Value = ""
    Txtciv.SetFocus   'retour au point de départ du formulaire pour rentrer de nouvelles valeurs

End Sub

txtciv a dans les propriétes RowSources 3 valeurs possibles.

merci
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
Et quel est donc la description exacte de ce que tu attends et qui ne se produit pas ?


En même temps que ta réponse : peux-tu nous dire si certaines des textboxes apparaissant dans ton code subissent des instructions lors d'événements GotFocus et/ou LostFocus ? (il est peut-être important de le préciser ici, s'il te plait)
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
Pourquoi utiliser MatchRequired ?
Il y a certainement une raison, mais je n'ai jamais utilisé...

Dans le code que tu donnes, il n'est nullement question de combobox...
Ç'aurait été bien...
Comme tu utilises beaucoup les SetFocus, voici ce que je peux lire dans la MSDN

Remarques

Si valeur de la propriété MatchRequired est True,
l'utilisateur ne peut pas quitter le contrôle ComboBoxtant que le texte
saisi ne correspond pas à une entrée de la liste existante. MatchRequired
maintient l'intégrité de la liste en exigeant de l'utilisateur qu'il sélectionne
une entrée existante.

MPi