OVH Cloud OVH Cloud

Proc _AfterUpdate() "Généraliste"

3 réponses
Avatar
Gadget
Salut à tous encore...
J'ai dans une userform un grand nombre de Txtboxes, dont une poignée servent
à saisir des dates par exemple. Y a-t-il un moyen d'écrire une seule
procédure _afterupdate() qui vérifierait d'abord quel txtbox à été modifié
puis selon les cas, vérifierait la validité de l'entrée, plutôt que faire
une procédure identique dans l' _afterupdate de chaque txtbox de type date ?

nb : j'ai déja prévu le coup en nommant mes txtboxes avec un préfixe :

- dDate_Arrivée pour une entrée date
- hDurée pour une entrée heure,
- sTexte pour une entrée texte
etc...

qui permettra de tester le format demandé selon le premier caractère de la
txtbox.

C'est-y possib?
Merci de vos réponses.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!

3 réponses

Avatar
Alain CROS
bonjour

Dans le module de ton UF

Sub Commun()
MsgBox Me.ActiveControl.Name
'Ici ton traitement commun à tous tes TextBox
End Sub

Pour chacun de tes Textbox une procédure AfterUpdate.

Private Sub dDate_Arrivée_AfterUpdate()
Commun
End Sub
Private Sub hDurée_AfterUpdate()
Commun
End Sub
etc...

Alain CROS

"Gadget" a écrit dans le message de news: 408e5722$0$4934$
Salut à tous encore...
J'ai dans une userform un grand nombre de Txtboxes, dont une poignée servent
à saisir des dates par exemple. Y a-t-il un moyen d'écrire une seule
procédure _afterupdate() qui vérifierait d'abord quel txtbox à été modifié
puis selon les cas, vérifierait la validité de l'entrée, plutôt que faire
une procédure identique dans l' _afterupdate de chaque txtbox de type date ?

nb : j'ai déja prévu le coup en nommant mes txtboxes avec un préfixe :

- dDate_Arrivée pour une entrée date
- hDurée pour une entrée heure,
- sTexte pour une entrée texte
etc...

qui permettra de tester le format demandé selon le premier caractère de la
txtbox.

C'est-y possib?
Merci de vos réponses.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!




Avatar
Gadget
Merci. C'est la solution la plus proche de ce que je cherche, mais, quitte à
me faire accuser d'avoir des rapports "contre nature" avec les lépidoptères
(version politiquement correcte), je cherche en fait quelque chose qui
"intercepterait" l'évenement de modification de n'importe quel contrôle dans
n'importe quelle UF, et qui déclencherait une procédure où l'on pourrait
récupérer l'identité du contrôle modifié. Ce serait une proc "généraliste"
qui ne serait pas placé dans le code de ma ou mes UF, mais dans un module à
part. Celà m'éviterait de créer toutes les proc AfterUpdate en y insérant la
sub Commun.

Voilà voilà.
Ceci dit, ta solution est bien suffisante.
Merci.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Alain CROS" a écrit dans le message de
news:
bonjour

Dans le module de ton UF

Sub Commun()
MsgBox Me.ActiveControl.Name
'Ici ton traitement commun à tous tes TextBox
End Sub

Pour chacun de tes Textbox une procédure AfterUpdate.

Private Sub dDate_Arrivée_AfterUpdate()
Commun
End Sub
Private Sub hDurée_AfterUpdate()
Commun
End Sub
etc...

Alain CROS

"Gadget" a écrit dans le message de news:
408e5722$0$4934$

Salut à tous encore...
J'ai dans une userform un grand nombre de Txtboxes, dont une poignée
servent


à saisir des dates par exemple. Y a-t-il un moyen d'écrire une seule
procédure _afterupdate() qui vérifierait d'abord quel txtbox à été
modifié


puis selon les cas, vérifierait la validité de l'entrée, plutôt que
faire


une procédure identique dans l' _afterupdate de chaque txtbox de type
date ?



nb : j'ai déja prévu le coup en nommant mes txtboxes avec un préfixe :

- dDate_Arrivée pour une entrée date
- hDurée pour une entrée heure,
- sTexte pour une entrée texte
etc...

qui permettra de tester le format demandé selon le premier caractère de
la


txtbox.

C'est-y possib?
Merci de vos réponses.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!








Avatar
Pascal Engelmajer
Salut,
voir du coté des modules de classe et de la POO
emcy a peut-être en réserve un module de classe de contrôle qui pourrait
répondre à ta demande.
http://www.excel-downloads.com/html/French/tele_clic.php?nom_fichier=Exemple
s%20modules%20de%20classe
cela impliquerait une instanciation dynamique des contrôles en vba.

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Gadget" a écrit dans le message de news:
408f5f12$0$10625$
Merci. C'est la solution la plus proche de ce que je cherche, mais, quitte
à

me faire accuser d'avoir des rapports "contre nature" avec les
lépidoptères

(version politiquement correcte), je cherche en fait quelque chose qui
"intercepterait" l'évenement de modification de n'importe quel contrôle
dans

n'importe quelle UF, et qui déclencherait une procédure où l'on pourrait
récupérer l'identité du contrôle modifié. Ce serait une proc "généraliste"
qui ne serait pas placé dans le code de ma ou mes UF, mais dans un module
à

part. Celà m'éviterait de créer toutes les proc AfterUpdate en y insérant
la

sub Commun.

Voilà voilà.
Ceci dit, ta solution est bien suffisante.
Merci.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Alain CROS" a écrit dans le message de
news:
bonjour

Dans le module de ton UF

Sub Commun()
MsgBox Me.ActiveControl.Name
'Ici ton traitement commun à tous tes TextBox
End Sub

Pour chacun de tes Textbox une procédure AfterUpdate.

Private Sub dDate_Arrivée_AfterUpdate()
Commun
End Sub
Private Sub hDurée_AfterUpdate()
Commun
End Sub
etc...

Alain CROS

"Gadget" a écrit dans le message de news:
408e5722$0$4934$

Salut à tous encore...
J'ai dans une userform un grand nombre de Txtboxes, dont une poignée
servent


à saisir des dates par exemple. Y a-t-il un moyen d'écrire une seule
procédure _afterupdate() qui vérifierait d'abord quel txtbox à été
modifié


puis selon les cas, vérifierait la validité de l'entrée, plutôt que
faire


une procédure identique dans l' _afterupdate de chaque txtbox de type
date ?



nb : j'ai déja prévu le coup en nommant mes txtboxes avec un préfixe :

- dDate_Arrivée pour une entrée date
- hDurée pour une entrée heure,
- sTexte pour une entrée texte
etc...

qui permettra de tester le format demandé selon le premier caractère
de



la
txtbox.

C'est-y possib?
Merci de vos réponses.

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!