Aide à la saisie dans une textbox

Sanegone

XLDnaute Nouveau
Bonjour,

Je travail actuellement sur un petit programme ( je suis pas sur que le terme soit approprié ^^) et j'ai besoin d'aide.

J'utilise Excel 2007.

But du programme :

Vérifier dans la colone A Cellule 1 à première cellule vide si le nom entré dans la textbox existe.
-> OK pas de soucis ^^
Si il existe modifié la ligne correspondant à ce nom sinon la créer en dessous du dernier nom.
-> Ok pas de soucis ^^
Incrémenté à certains nombre de valeurs et les bidouiller pour ma sauce.
-> Ok pas de soucis ^^

Vous l'aurez compris en lui-même ça fonctionne. Mon soucis se situe plus sur le coté kikou t'as vu les superfonctions de mon prog de PGM :eek:

En effet j'aimerai créer une aide à la saisie ou autocompletion sur la textbox dans laquelle se situe le nom avec comme source la colone A cellule 2 à première cellule vide et là par contre c'est la croix et la bannière.

J'ai déjà tenté de réfléchir un peu par moi-même ( en dessous le raisonnement suivi ^^ ) mais je commence à être totalement largé !

J'ai commencer par faire un tour dans l'aide VB intégré à Excel et suit tombé sur "AutoComplete, méthode" j'ai cru mon bonheur trouvé mais malheureusement ça ne semble fonctionné qu'avec une seule cellule.

J'ai trouver sur le net diverses propriété du genre Autocompletesource etc mais impossible à trouver dans excel : /

Bon pas grâce me suis je dit si ce que je veux n'existe pas je vais le créer :eek:

J'ai donc décidé de créer une fonction :
- qui recherche toutes les cellules de la colone contenant quelque chose :

For i = 2 To 500 'Ne depassera jamais 500
If Cells(i, 1).Value = "" Then
Exit For
Else
Cells(i, 1).Value = Tableau(i)
End If
End If
Next i

Bon j'ai un tableau contenant mes noms c'est déjà ça :D

- Ensuite j'ai besoin de découper ces chaines caractère par caractère et les comparer à la valeur entré allons y :

For i = 2 to 500
Caracref = Val(Mid(Me.TextBox1.Value, i, 1)) 'Premier caractere du nom saisie
carac1 = Val(Mid(tableau(i).Value, i, 1)) 'Premier caractere de la case en cour
if caracref = carac1 then
tableau2(i) = tableau(i)

Et là arrive mon problème, à chaque fois que je compare une lettre dans ma logique je vais créer un tableau pour garder uniquement les résultats correspondants... Ca va vite faire très lourd et si j'ai un mec qui s'appel Grunttergranberger je vous en parle même pas ^^.
Second soucis auquel j'ai déjà réfléchis après ben cette autocompletion faut l'affiché sans remplacer le texte entré par l'utilisateur :eek: Je vais devoir encore découpé dans la chaine dans tout les sens.


J'en suis arrivé aux conclusion suivantes :
1 ) Ma logique de traitement du problème est mauvaise, je me prend la tête pour rien, il doit exister un process de comparaison plus simple mais n'étant pas dév je n'ai pas cette "logique dév".
2 ) Il y'a probablement une fonction dans excel que j'ai raté qui peux faire çà.

Voilà, une fonction clé en main d'excel me ferai gagner beaucoup de temps, mais je serai quand même fortement intéréssé de comprendre comment faire, quelqu'un peux t il m'éclairer sur les étapes à suivre pour ce type d'objectif ?

De quelle manière dois je m'y prendre ^^
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Aide à la saisie dans une textbox

Bonjour.
Essayez d'utiliser une ComboBox au lieu de la TextBox. Non seulement une suite existante dans la liste est proposé lors d'une saisie partielle, mais la saisie entière peut être sélectionnée dans la liste.
Si vous ne voulez pas de cette dernière possibilite vous pouvez demander que le bouton affichant la liste n'apparaisse pas. La liste peut néanmoins être affichée par Alt+Flèche bas mais peu de gens le savent.
À+
 
G

Guest

Guest
Re : Aide à la saisie dans une textbox

Bonjour,

Peut-être qu'employé une combobox résoudrait ton problème.
tu trouveras sur le site différentes méthode de filtrage des combobox et autre méthodes de recherche.

A+
 

Discussions similaires

Réponses
5
Affichages
125