Comment éviter que "afterupdate" se relance 2 fois

  • Initiateur de la discussion François l'aîné
  • Date de début
F

François l'aîné

Guest
Bonsoir à toutes et à tous

J'ai ce petit bout de code pour appeler une recherche, mais la commande 'format' relance à nouveau le 'afterupdate', et donc la recherche, ce qui n'est pas important en soi car le numéro demandé est le même :

Private Sub TextBox32_AfterUpdate()

If TextBox32.Value '' Then
TextBox32 = Format (TextBox32, '00'' ''00'' ''00'' ''00'' ''00')
Recherche_téléphone
Répertoire.ListBox2.ListIndex = -1
Répertoire.CommandButton6.SetFocus
End If
End Sub

Travailler avec un autre évènement que 'Afterupdate', ou si c'est possible comme dans Access, formaté un masque de saisie qui éviterait la commande 'format' ?

Et j'ai recours à vous car je n'ai pas trouvé le dernier moyen.

Merci de votre aide et bonne soirée à toutes et à tous.

François.
 

Sylvain

XLDnaute Occasionnel
Bonjour,

je pense que le problème est que la modification relance l'événement. Il faut donc bloquer la gestion de ces événements pendant le travail de ta procédure :

Sub procédure()
Application.EnableEvents = False
Application.EnableEvents = False
'tes instructions qui auraient relancé l'événement
Application.EnableEvents = True
End Sub
 

Hervé

XLDnaute Barbatruc
Re:Comment éviter que "afterupdate" se relance 2 f

Bonsoir à vous deux

Une alternative à la proposition de sylvain, gérer le format du textbox dans un évenement change (en automatique), pour ainsi libérer le 'afterupdate' pour le traitement :

Code:
Private Sub TextBox32_Change()
Select Case Len(TextBox32.Text)
Case 2, 5, 8, 11
TextBox32.Text = TextBox32.Text & ' '
End Select
End Sub

Private Sub TextBox32_AfterUpdate()

If TextBox32.Value <> '' Then
Recherche_téléphone
Répertoire.ListBox2.ListIndex = -1
Répertoire.CommandButton6.SetFocus
End If
End Sub

voilà

Salut
Hervé
 
F

François l'aîné

Guest
Re:Comment éviter que "afterupdate" se relance 2 f

Hervé

Super ton code qui formate au fur et à mesure de la saisie. Je l'adopte et je garde le code de Sylvain pour d'autres occasions.

Encore merci à vous deux

François
 

Zon

XLDnaute Impliqué
Re:Comment éviter que "afterupdate" se relance 2 f

Salut,

Désolé d'intervenir dans ce post, mais Fracnçois ne laissant pas son courriel je ne peux lui venir en aide pour ici: Lien supprimé

Peux tu m'envoyer une copie d'écran voir ce qui se passe chez toi.

A+++
 
F

François l'aîné

Guest
Re:Comment éviter que "afterupdate" se relance 2 f

Zon

Trés heureux de te retrouver et trés chic de ta part de me rattraper ici. Entre mon manque d'expérience du net,le changement de présentation du site et les susceptibilités à ménager, j'étais en train de rechercher comment te rejoindre afin de te reposer une question posée sur l'ancien forum ayant pour sujet la mise en icône d'un USF.

J'ai recopié le code que tu avais envoyé et cela fonctionne, mais aimant bien comprendre ce que je fais (ou ce que le code fait) je te demandais si tu voudrais bien avoir l'extrême obligeance de me communiquer o&ugrave; je peux trouver des explications sur celui-ci, l'aide VBA étant peu prolixe à ce sujet.

Je viendrai chercher la réponse sur ce fil à moins que tu ne vois pas d'inconvénient à me répondre dirctement auquel cas voici mon courriel : francois.texier@tele2.fr

Je te remercie trés vivement , ainsi que toutes et tous les autres, pour l'aide que vous nous amenez.

Cordialement.

François.
 

Zon

XLDnaute Impliqué
Re:Comment éviter que "afterupdate" se relance 2 f

Salut,

API (application interface programming) constitue l'interface de programmation de windows. On y trouve dedans un grand nombre de dll qui permettent de travailler sur les fenetres, le registre...
Dans notre exemple on en utilise 3

findwindow récupère l'identifiant(ou handle) de l'userform.
showwindow réduire, agrandit ou de maximise une fenetre.(on lui passe en parametre l'identifiant de l'userform et la façon dont il veut afficher cette fenetre).
setwindowlong modifie le style de fenêtre afin qu'on puisse la réduire.

si tu n,'as pas VB 6 pro tu trouveras la bible des apis se trouve sur www.allapi.net

A+++
 

Statistiques des forums

Discussions
312 199
Messages
2 086 159
Membres
103 147
dernier inscrit
tubaman