Compléter la saisie automatique d’un Textbox

Dans une application développée pour un client, il y a un formulaire de saisie de ses clients à lui. Les champs noms et prénoms sont des Textbox. Pour éviter des erreurs de frappe lors de la saisie, il m’a demandé s’il était possible que lors du remplissage, les champs affichent automatiquement les textes similaires (“auto-complete”). Par exemple, si on tape “BER”, on voit apparaître “BERGERON” ou “BERNARD” car ce sont 2 valeurs existantes dans la base de données.

Remplacer les Textbox par des Combobox

Le plus simple est de transformer les 2 Textbox en Combobox car les Combobox ont une propriété nommée “MatchEntry” qui lorsque sa valeur est à “1″ ou “fmMatchEntryComplete” permet de “filtrer” ou “auto-compléter” le texte entré. Les contrôles de type Textbox n’ont pas cette propriété.

Supposons que nous avons la base de données suivantes placé dans la Feuil1 dans un tableau nommé Tableau1

ComboBox

On a le formulaire suivant avec les contrôles “Combobox1″ pour le “Nom” et “Combobox2″ pour le “Prénom”.

ComboBox1

On veut remplir les 2 Combobox avec les valeurs UNIQUES de notre base de données. Pour ne pas avoir de doublons, on va utiliser un Dictionnaire. Ces outils est très puissant et très rapide pour créer des listes sans doublons et peut traiter des milliers de lignes en quelques secondes.

Les 2 Combobox sont remplies à lors de l’initialisation du formulaire, c’est pourquoi le code se trouve dans “Userform_Initialize”.

Portez attention sur la manière de passer le contenu d’une colonne de notre Tableau1 dans notre variable. Peu importe le nombre de lignes dans notre tableau, il n’est pas nécessaire de modifier le code. Il s’agit là d’un très grand avantage à utiliser les Tableaux qui ont été introduits avec Excel 2007 lorsque l’on gère des listes de données.

Le code du bouton sert à copier les valeurs entrées dans la Feuil1. Il s’agit ici d’un exemple simplifié. Dans l’application réelle, les valeurs sont sauvegardées dans un objet unique (classe) et ensuite sauvegardées dans la base de données.

Le code

Dans mon prochain billet, j’expliquerai comment créer une liste de valeurs TRIÉE et ne contenant aucun doublons.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Les balises HTML ne sont pas autorisés.