méthode afterupdate

estelle.s

XLDnaute Junior
Bonjour à tous.

Alors je sèche sur un afterupdate.
Dans un premier temps, j'avais réalisé une macro toute bête avec un bouton sur une feuille excel. Suite à clic j'ouvrais un userform(disons U1). Dans ce userform j'ai un textbox avec un nom de projet. Je voulais que les données et boutons autres de la form soient utilisables si et seulement si un nom est entré. J'utilise donc un afterupdate. Jusque là nikel, tout marche.
Puis suite à évolution du nombre de données souhaitées, j'ai du rajouter une userform U2 avant d'exploiter les données à entrer en U1 (qui s'ouvre grâce a un bouton sur U2). Du coup j'ai déplacé mon nom de projet sur ma U2, ce pt restant la condition à l'utilisation des autres controles. Et là rien à faire ma afterupdate ne passe plus. Pourquoi ??? J'ai essayer de vérifier ma dénomination, ma façon d'appeler U1, les propriétés des controles comparées à ma version précédente... mais je ne trouve pas.

Qui pourrait m'éclairer ???? Je joins mon fichier.

Merci d'avance !

Estelle
 

Pièces jointes

  • pb_afterupdate.zip
    23.6 KB · Affichages: 34
  • pb_afterupdate.zip
    23.6 KB · Affichages: 33
  • pb_afterupdate.zip
    23.6 KB · Affichages: 37

pierrejean

XLDnaute Barbatruc
Re : méthode afterupdate

bonjour Estelle

J'avais constaté qu'un Userform avec un seul textbox posait probleme
J'en ai ajouté un tres discret (textbox1), ce qui a debloqué l'Afterupdate
Ceci dit , si quelqu'un a une autre methode , je suis preneur !!
 

Pièces jointes

  • pb_afterupdate.zip
    23.7 KB · Affichages: 44
  • pb_afterupdate.zip
    23.7 KB · Affichages: 43
  • pb_afterupdate.zip
    23.7 KB · Affichages: 48

estelle.s

XLDnaute Junior
Re : méthode afterupdate

bonjour Pierre Jean.

En effet ta textbox1 est très discrète..; si bien que je ne la trouve pas ! Par ailleurs je n'ai pas qu'une textbox vu que j'ai la grande textbox de commentaire... et j'ai essayé ton idée en rajoutant une textbox et meme tres visible :p et ca marche pas non plus...
 

pierrejean

XLDnaute Barbatruc
Re : méthode afterupdate

Re

Je parlais de textbox Active , la textbox de commentaire etant enabled=False
As-tu testé le fichier que j'ai joint ?
Pour voir ma textbox1 ,decrit avec la souris un rectangle a droite du bouton OK
 

estelle.s

XLDnaute Junior
Re : méthode afterupdate

Ok je vois le problème. Du coup : c'est étrange, si je passe la propriété visible false ça ne marche pas, et encore plus bizarre, si je cache cette textbox derriere (ou sur) ma frame sans pourtant la rendre invisible ça ne marche pas non plus...
Tout ça m'intrigue...

En tout cas merci Pierre Jean. J'opte pour ta méthode en attendant une autre proposition pour solutionner ça.
 

cbea

XLDnaute Impliqué
Re : méthode afterupdate

Bonjour estelle.s, pierrejean,

L'événement AfterUpdate ne peut se déclencher puisqu'aucun autre contrôle n'est actif.
Par conséquent, pour résoudre ton problème, dès la saisie dans la zone de texte (événement Change), vérifier le contenu de la zone pour activer ou pas les autres contrôles.

Tu trouveras une solution dans le fichier joint.
 

Pièces jointes

  • pb_afterupdate_v1.zip
    15.6 KB · Affichages: 65

estelle.s

XLDnaute Junior
Re : méthode afterupdate

Bonjour cbea

Je te remercie. Ta solution est élégante comme dit pierrejean, pratique, et au final correspond mieux à l'idée de départ que je voulais pour cette condition sur l'entrée du nom de projet.

Estelle
 

kjin

XLDnaute Barbatruc
Re : méthode afterupdate

Bonjour,
Puisque c'est la saisie du nom du projet qui conditionne l'accès aux contrôles,
pourquoi ne pas juste les verrouiller à l'initialisation du formulaire et les deverrouiller à la sortie de la textbox "nom du projet".
Mais je n'ai peut-être pas bien suivi.
A+
kjin
 

Pièces jointes

  • pb_afterupdate_V2.zip
    24 KB · Affichages: 47

estelle.s

XLDnaute Junior
Re : méthode afterupdate

Bonjour kjin, excel lent

Alors kjin ta méthode convient tout à fait. Je n'y avais simplement pas pensé, focalisée comme je l'étais sur mon afterupdate. En plus je la trouve plus simple et plus logique. Dc merci beaucoup !

Excel lent, ta méthode n'est pas vraiment pratique pour mon cas. En effet le clic dans la user form n'est pas spontanné apres que tu aies tapé dans la combobox. De manière intuitive l'utilisateur reste au clavier (et valide avec enter très souvent donc) car ma userform ne présente en dehors de la textbox active aucun autre controle qui "appelle" l'utilisateur si je puis dire. Du coup "entrer" dans ta méthode click n'est pas si évident que ça...

Voila. Merci encore à vous

Estelle
 

estelle.s

XLDnaute Junior
Re : méthode afterupdate

RE

Très juste excel lent, je devrais peut etre bien ne faire apparaître que le nom en premier lieu, histoire que l'utilisateur n'ait pas la tentation de cliquer ailleurs. Le truc c'est (qu'après avoir lu ta suggestion) que j'ai tenté de le faire, mais je me retrouve ac 2 soucis : si je prends une méthode afterupdate, je retombe sur mon pb initial n'ayant qu'une textbox active. Si j'utilise la méthode exit, même chose et comme tu dis apres clic intempestif je sors. En ajoutant un bouton pr valider ça marche.
Mais l'utilisateur qui n'aime pas la souris c'est moi ;) (d'ou j'ai raté le clic intempestif...). Cette macro meme si vous n'en voyez q'un bout utilise de nombreuses infos de reporting dont les entrées sont toutes dépendantes des infos précédentes. Personnelement après expérience, les macros avec 20 000 bouttons pr valider (par clic souris ou tab+entrée ;) )... ça m'ennerve. Après tu as tout à fait raison c'est un avis complètement personnel et tu as le droit de préférer les bouttons ;). Et j'ai aussi un peu généralisé mon cas il est vrai dsl.

autre chose. Je préfererais aussi garder toutes mes infos visibles pendant qu'elles sont entrées au fur et à mesure. Et là rebelotte j'ai toujours des textbox à rendre inaccessibles apres avoir rempli la suivante.

En tt cas merci pour les idées !
 

estelle.s

XLDnaute Junior
Re : méthode afterupdate

héhé je crois qu'il y a une autre technique pour contenter et les fans de souris et les fans de clavier ;) : conditionner le passage des infos par la présence du curseur dans la textbox suivante. Avec la méthode de cbea je rends accessible la textbox de linfo qui suit des que la textbox en train detre remplie n'est pas vide, et qd l'utilisateur passe à la textbox suivante je réitere le meme procédé.

Ca me plait bien comme idée. meme si là ca devient vraiment une question de confort d'utilisation ;).
Si vous avez un avis sur cette autre proposition allez y !

merci
 

Discussions similaires

Réponses
7
Affichages
312

Statistiques des forums

Discussions
312 095
Messages
2 085 250
Membres
102 836
dernier inscrit
Ali Belaachet