IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Respect de l'ordre de tabulation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut Respect de l'ordre de tabulation
    Bonjour à toutes, à tous et surtout à "unparia" ;-)

    après avoir cherché et recherché je m'en remets à votre science !
    voila : un userform avec 5 textbox toutes simples (tb1, tb2, tb3 ,,,)
    l'ordre de tabulation prévu est respecté, les alertes fonctionnent, tout baigne Sauf !
    sauf que si l'utilisateur place le point d'insertion un ou deux controles plus loin on peut laisser des cases vides.
    bien sur on pourrait faire un controle avant la validation finale mais ne peut on pas plus simplement prévoir d'empecher ce comportement et n'utiliser que l'avancement par la touche "entrée"?
    Merci de votre attention

    j'ai essayé ce que m'a suggéré jerome vaussenat mais ca ne fonctionne que si avant le déplacement de la souris le focus est détenu par celui auquel la procédure mouse est censée le rendre.
    j'espère avoir été clair.
    merci pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Heureux de te voir dans la section adéquate. Mets-la maintenant en mémoire.
    Bon.
    Voici un truc :
    Imaginons que tes textboxes s'appellent toto, titi et tata et qu'elles doivent être saisies dans cet ordre là, aucune ne devant l'être si les précédentes sont vides.
    code dans userform :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Dim mesobligees
    Private Sub UserForm_Activate()
      mesobligees = Array(toto, titi, tata)
    End Sub
    Private Sub coucou(t As MSForms.TextBox)
      For i = 0 To UBound(mesobligees)
        If mesobligees(i).Name <> t.Name Then
          If mesobligees(i).Text = "" Then mesobligees(i).SetFocus: Exit For
        Else
          Exit For
        End If
      Next
    End Sub
    Private Sub titi_enter()
      coucou ActiveControl
    End Sub
    Private Sub tata_enter()
      coucou ActiveControl
    End Sub
    Note que je n'ai pas besoin de traiter l'évènement de la textbox toto (c'est évident)
    Voilà voilà ...

  3. #3
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    merci à toi unparia
    je suis en train d'essayer de comprendre ton mécanisme (ca prends forme petit à petit)

    pour un paria
    apres avoir adapté ta formule a mon usf ca coince sur la ligne :If mesobligees(i).Text = "" Then mesobligees(i).SetFocus: Exit For
    ca me dit erreur non répertoriée !
    peut etre que ca marche avec If mesobligees(i).Text = "" Then mesobligees(i-1).SetFocus: Exit For ?

  4. #4
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    effectivement il fallait rajouter -1!
    un oubli qui n'enlève rien à mes remerciements
    et je clique sur résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ordre de tabulation non respecté
    Par seanjohn42 dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/08/2010, 16h05
  2. Organiser l'ordre des tabulations dans un GUI
    Par FredPsy dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 22/01/2007, 09h42
  3. [HTML]Ordre de tabulation
    Par Sniper37 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 30/05/2006, 09h19
  4. Ordre de tabulation dans des formulaires
    Par snoopy69 dans le forum Access
    Réponses: 6
    Dernier message: 04/04/2006, 11h13
  5. gérer l'ordre des tabulations dans un formulaire
    Par amigauss dans le forum Langage
    Réponses: 11
    Dernier message: 17/01/2006, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo