Blocage de controls avec condition

zombe

XLDnaute Occasionnel
Salut le forum

Je viens vers vous pour trois problèmes dont j'ai de solutions:
1er problème :Blocage de controls avec condition
J'ai un code qui permet de bloquer un champ vide c'est à dire que tant que ne renseigne le champ, on ne peut ni avancer ni revenir en arrière.
Je souhaite qu'on m'aide à adapter le code afin que l'on puisse revenir en arrière quand bien le champ est vide mais pas aller au champ suivant.
2è problème:
Est-il possible de faire en sorte que lorsqu'on renseigne le textbox3, et après avoir fait ENTER, que sa valeur s'affiche automatiquement dans le textbox9? Si oui comment le faire?
3è problème:
Comment faire pour mettre un blocage dans un combobox comme dans les textbox tout en autorisant les marche arrière mais les marches avant?
Merci
 

Pièces jointes

  • BLOCAGE_COMBO.xlsm
    27.1 KB · Affichages: 44

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

Bonjour Zombe, Le Forum,

Ceux qui me connaissent savent que j'ai toujours pas mal "joué" avec les Userforms sur XLD :)

Je pense avoir répondu à tes trois Problèmes, avec une Solution très simple (sans faire appel à un Module de Class, qui pourrait être aussi une Solution)

En fait j'ai fait un nouveau classeur car tes Controls portaient des numéros en Vrac, et je préfère repartir à zéro pour avoir aussi un ordre de Focus cohérent.

La clef du Fontionnement est la Propiété TAG de chaque TextBox ou ComboBox qui doit être "scannée" par "TheChecker"... (Faire "F4" une fois une TextBox sélectionnée, et regrader la propriété Tag).


Bonne découverte

@+Thierry
 

Pièces jointes

  • UserForm_Controls_Checker.xls
    44 KB · Affichages: 33

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut Thierry

merci pour votre proposition.
Juste un petit constat:
Lorsque le textbox ou combobox est vide et qu'on tape ENTER, il faut passer par la souri pour valider le msgbox.
N'est-il pas possible de faire en sorte que le msgbox soit valider pas ENTER sinon ca sera fastidieux.
merci de voir ce qui est faisable svp.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

Re Bonjour

Salut Thierry
Lorsque le textbox ou combobox est vide et qu'on tape ENTER, il faut passer par la souri pour valider le msgbox.

En fait la touche Enter normalement valide TOUTE MESSAGE BOX (le bouton OK a le focus par défaut)

Quoqu'il en soit voici une variante peut-être plus adaptée à ton cas ... En fait toutes les TextBox ne sont editables qu'une fois la présédente remplie...

Cordialement,
@+Thierry
 

Pièces jointes

  • UserForm_Controls_Checker_variante.xls
    43.5 KB · Affichages: 23

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut Thierry

Je vois que vous maitrisez vraiment les usf et ...
Ce cas semble adapter à mon besoin mais un dernier constat:
au lieu que le curseur reparte en arrière ne peut-il pas rester dans le textbox afin que l'utilisateur sache que c'est parce qu'il n'a rien rempli que le curseur ne bouge.
Pour moi, le faite que le curseur reparte en arrière peut embrouiller l'utilisateur.
Merci d'apprécier mes constats svp
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

Bonsoir Zombe, le Forum

Es-tu assureur ou policier Zombe, en voyant tous ces "Constats" je me suis posé la question :)

Enfin donc voir une nouvelle variante qui ferme les "portes" une fois sorti du Contrôle... Du coup le curseur ne peut plus se ballader en arrière (ou en avant tant que le contrôle actif est vide) car il ne peut y avoir qu'un seul contrôle "Enabled = True" en même temps...

Bonne Soirée
@+Thierry
 

Pièces jointes

  • UserForm_Controls_Checker_variante_Locker.xls
    54.5 KB · Affichages: 34

Eric C

XLDnaute Barbatruc
Re : Blocage de controls avec condition

Bonsoir le forum
Bonsoir zombe, bonsoir Thierry

Toujours aussi actif & réactif. Cette réponse devrait également satisfaire Mendigot à qui tu as apporté ta soluce cette après midi.
Bonne soirée (ou nuit : n'oubliez pas de changer l'heure).
 

laetitia90

XLDnaute Barbatruc
Re : Blocage de controls avec condition

bonjour tous :):):)

zombe c'est trés bien tous cela !!!! mais pas forcement sympa pour l'utilisateur:( si par malheur il se trompe en renseignant
quelle alternative il lui reste tout recommencer fermeture user puis load user a nouveau

ca va encore pas trop de controles a remplir tu as bien un bouton pour valider tous cela???? a mon avis traiter a ce niveau .... ou a la sortie de chaque ...box par exemple: is numeric not is numeric ect...
 

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut à tous

Merci pour vos contributions.
Thierry:
Es-tu assureur ou policier Zombe, en voyant tous ces "Constats" je me suis posé la question
Ni l'un ni l'autre mais seulement à la recherche de la précision voila pourquoi je frappe à vos portes:)
J'ai testé votre dernière proposition mais je vois que le curseur se balade toujours.
Il suffit de tester vous même et vous le constaterai :renseigner le textbox1 et faites ENTER. vous êtes maintenant dans le textbox2. Sans rien saisir (textbox vide) faite ENTER et vous verrez que le curseur revient au textbox1.
Dois-je conclure que ce que je souhaite n'est pas réalisable ou bien ne me suis-je pas bien fais comprendre.

laetitia90:
Si ce que je souhaite n'est pas réalisable, ca sera la dernière option.
Merci encore à tous
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

Salut à tous

J'ai testé votre dernière proposition mais je vois que le curseur se balade toujours.
Il suffit de tester vous même et vous le constaterai :renseigner le textbox1 et faites ENTER. vous êtes maintenant dans le textbox2. Sans rien saisir (textbox vide) faite ENTER et vous verrez que le curseur revient au textbox1.
Bonjour Zombe, le Fil, le Forum,

Es-tu certain de tester la Der des Der "UserForm_Controls_Checker_variante_Locker.xls" car chez moi tu peux taper ENTER tant que tu veux tu ne sors pas de la TextBox1 (ou des autres tant qu'elles sont vides)

cordialement,
@+Thierry

PS Laetitia, oui parfois les Utilisateurs peuvent rester un peu perplexes quant à l'usage des UserForm "Blindés" mais bon le "client est Roi" :)
 
Dernière édition:

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut Thierry

Waoh. C'est super.
J'ai beaucoup apprécié.
Enfin une dernière question sans trop abuser de votre patience :(voir message ci-dessous):
Dans certains textboxs, je saisis un mot ou en ensemble de mot.
Dans ces textboxs, un des mots de la plage PARAMETRE!V394:W623 devra y être saisi obligatoirement.
Je souhaite si possible que lorsqu'un des éléments de la plage définie ne figure dans le textbox actif, que le curseur ne se ballade pas.
 

Pièces jointes

  • UserForm_Controls_Checker_variante_Locker.xlsm
    37.7 KB · Affichages: 36

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

RE Bonjour Zombe, le Fil, le Forum

Heureux que tu apprécies, tu ne voyais donc pas la dernière version.

Pour ta dernière question, je ne vois pas l'utilité de "torturer" l'utilisateur avec une TextBox alors, il ne va pas taper à l'aveuglette toutes les combinaisons possibles pour "matcher" avec ta liste de référentiels...

Je te conseille vivement pour l'ergonomie et le coté "User Friendly" de ton application de considérer plutôt l'utilisation de ListBox ou de ComboBox.

Ci-joint exemple avec ComboBox Match Required...

Cordialement,
@+Thierry
 

Pièces jointes

  • New_UserForm_Controls_Checker_variante_Locker_combo_match_required.xlsm
    39.8 KB · Affichages: 21

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut Thierry

Merci pour votre feedback.
Je croyais avoir ouvert la nouvelle version alors que c'était toujours l'ancienne.
Je vous explique un peu le dernier besoin afin que vous puissiez mieux me comprendre:
j'ai des controls dans lesquels doivent être saisi :
- Lieu de naissance de mon client
- Lieu de résidence de mon client
.... etc
En renseignant ces controls (textbox), le système doit savoir le pays de naissance.
Vous voyez que ca devient compliqué.
Comment connaitre le pays de naissance de mon client si sur sa pièce je lis par exemple RENNES.
Pour que le système puisse le savoir, je dois saisir dans le textbox RENNE FRANCE.
C'est l'ensemble des mots clés que j'ai recensé dans ma plage PARAMETRE!V394:W623.
Pour que l'utilisateur n'oublie pas de renseigner le mot clé avant de sortir du textbox, il faut un moyen pour le rappeler que le mot clé na pas été saisi. C'est ce moyen de rappel que je sollicite de votre part.
Je reste à votre disposition pour tout complement d'information ou des conseils pouvant m'aider à atteindre mon objectif autrement.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Blocage de controls avec condition

Bonsoir Zombe, le Fil, le Forum

Je n'adhère pas vraiment à cette façon de voir les choses :
  1. Pas du tout "User Friendly'
  2. Gestion ingérable (imagine de mettre toutes les villes de France en face de France, puis ceci pour tous les Pays !
  3. Codification VBA très lourde à chaque saisie dans les TexteBox, risque de sérieuse lenteur.
Non je pense que si l'utilisateur doit renseigner sa Date de Naissance, Sa Ville de Naissance, il peut aussi choisr son Pays de Naissance dans une ComboBox
(as tu d'ailleurs testé par dernier version "New_UserForm_Controls_Checker_variante_Locker_combo_match_required.xlsm"
car là le user ne pourra pas saisir "Plat Pays" pour "Pays Bas" (d'ailleurs en Tapant "P" il aura Pays bas automatiquement...)

Je pense qu'il te faut revoir le concept de ton UserForm, l'intelligence artificielle n'existe pas vraiment en VBA, il faudrait beaucoup trop de maintenance dans ta Base de Donnée de Correspondance pour que cela fonctionne pour ce que je crois avoir compris.

Cordialement
@+Thierry
 
Dernière édition:

zombe

XLDnaute Occasionnel
Re : Blocage de controls avec condition

Salut Thierry et le fil

Je pense que vous m'avez pas bien compris.
Je ne demande pas le code que vous avez imaginé comme étant mon besoin.
Par exemple dans le textbox3, si j'y dois saisir le lieu de naissance, en le saisissant, si j'oublis d'ajouter le pays de naissance, il dois y avoir blocage avec msgbox "pays de naissance non saisi".
Ce que je vous demande est d'intégrer dans votre code du post n°11 une condition qui vérifie la présence d'un mot dans la plage définie. Si dans le textbox il ne trouve pas un élément de la plage, il dois signaler l'absence du mot clé et l'utilisateur saura automatiquement que c'est parce qu'il n'a pas ajouté le nom du pays que y'a blocage.
L'objectif est d'éviter qu'il y'ai trop de control (surcharge) à mon avis tout en atteignant l'objectif recherché.
J'ai bien consulté votre dernier fichier (combobox avec blocage).
Je dialogue avec vous afin que vous puissiez mieux me comprendre et par dessus tout pour bénéficier de vos précieux conseil.
 

Discussions similaires

Réponses
3
Affichages
481

Statistiques des forums

Discussions
312 321
Messages
2 087 237
Membres
103 497
dernier inscrit
JP9231