Textbox autocomplete - zone de texte préremplissable lors de la saisie utilisateur [module de classe]

Soyez le premier à donner votre avis sur cette source.

Vue 11 441 fois - Téléchargée 1 072 fois


Description

Le but est simplement de proposer du texte lors de la saisie de l'utilisateur, texte que vous pouvez indiquer par fichier, par paramarray, ou ajouter mot à mot

l'intégration à vos projet est toute simple (cf code ci-dessous)
j'avais besoin de ce "petit code", très étonné de ne trouver aucune source sur VbFrance traitant de ce sujet

comme d'hab en espérant que çà puisse vous servir, j'attends vos retours ;)

Source / Exemple :


Option Explicit
Private AfCompleteDays As New AfCls_TBAComplete
'
Private Sub Form_Load()
    With AfCompleteDays
        Set .TBox = Txt_Days
        .FillByParamArray "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"
    End With
End Sub
'
Private Sub Form_Unload(Cancel As Integer)
    Set AfCompleteDays = Nothing
End Sub

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
... je repassais par là

chapata -> tu avais copié "Private Sub Form_Load()"?
dans ce cas normal, ton userform ne passe pas par cette procédure, il n'y a donc juste aucune instanciation

(le test en pas à pas aurait du te mettre sur la voie)

pour les autres lecteurs -> je n'ai pas retouché cette classe et ne peux le faire pour le moment mais je garde en tête les diverses demandes et propositions

bonne soirée
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
j'fais pas de VBA, encore moins sous access....

le principe étant forcément uniquement les évènements. essaye d'appliquer le code à ton formulaire, il te suffira juste de déplacer au bon endroit ensuite..

au pire fais-moi parvenir une base (cijoint.fr), je peux toujours jeter un oeil
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Bonjour,
merci pour ta réponse PCPT.
J'ai effectué les changement cités, mais marche pas (suis sous VBA Access) ya des messages d'erreur.
J'ai donc fait des petits tests uniquement sur : AfComplete_Txt ...

Private Sub Form_Load()

Set AfComplete_Txt = New AfCls_TBAComplete
dim AppPath as string

AppPath = "D:\Donnees\programmation\vba\Auto complete"

With AfComplete_Txt
Set .TBox = text1
.FillByFile AppPath & "\mots_de_5_lettres.dat"
End With

End Sub

Quand je regarde dans les variables, j'ai bien la collection oColl des mots qui sont biens remplis, le contrôle TBox avec toutes ses propriétées, mais sur l'evenement TBox "OnKeyDown" je n'ai rien, il ne va pas chercher la private sub TBox_KeyDown.
Et je ne sais pas d'ou pourrait provenir le problème ...
Si une personne a réussit ou est calée sur ce point, je lui en serrait très reconnaissant.

PS : j'aime bien ta source, on dirait de l'AJAX, c'est l'éffet voulu :)

ChaPaTa
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut chapata,

il faut remplacer
Public WithEvents TBox As TextBox
par
Public WithEvents TBox As MSForms.TextBox

et remplacer
Private Sub TBox_KeyDown(KeyCode As Integer, Shift As Integer)
par
Private Sub TBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

çà devrait suffire ;)
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
Salut à tous.
Merci pour cette source !
Est'il possible d'ajouter cette fonctionnalité en VBA ? Et quels seraient les changements au niveau du code ? Car j'ai mon form qui est identique, intégrer le module de classe, mais cela ne fonctionne pas. Et je n'ai pas d'erreur d'éxecution ....
Merci
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.