XL 2010 userform, formulaire textbox en cascade afficher dans une listbox

ROBYlois

XLDnaute Nouveau
Bonjour à tous,
je suis débutant sous excel. je souhaite réaliser dans un userform une recherche via 3 textbox en cascade. j'ai trouver quelque chose sur internet que je n'arrive pas a adapter à mon fichier. cela marche sur le fichier que j'ai télécharger mais pas dans le mien.
merci d'avance pour votre aide précieuse.

Dim f, TblBD()
Option Compare Text
Private Sub recherchedt_Initialize()
Set f = Sheets("Données")
Set d = CreateObject("Scripting.Dictionary")
TblBD = f.Range("A3:X" & f.[A65000].End(xlUp).Row).Value
Me.ListBox1.List = TblBD
Me.ListBox1.ColumnCount = 24
'Me.ListBox1.ColumnWidths = "100;50;50;50;50;50"
End Sub
Private Sub TextBoxMotClé_Change()
ColRecherche = 4
clé = "*" & Me.TextBoxMotClé & "*": n = 0
Dim Tbl()

For i = 1 To UBound(TblBD) --------------------------------------------------------------- = l'indice n'appartiens pas à la sélection

If TblBD(i, ColRecherche) Like cl? Then
n = n + 1: ReDim Preserve Tbl(1 To UBound(TblBD, 2), 1 To n)
For k = 1 To UBound(TblBD, 2): Tbl(k, n) = TblBD(i, k): Next k
End If
Next i
If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub
 
Dernière édition:

xUpsilon

XLDnaute Impliqué
Bonjour,

Sans même regarder ton code, si tu nous dit que ça marche dans un fichier x et que ça ne marche pas dans un fichier y, sans nous les donner, on va pas pouvoir y faire grand chose.

Bonne continuation
 

xUpsilon

XLDnaute Impliqué
Lisez les conditions d'utilisation d'un forum avant de l'utiliser par pitié.

Dans ces conditions est stipulé : un fichier anonymisé et simplifié permettant de comprendre facilement le contexte de la question est non obligatoire mais plus que recommandé pour recevoir une aide adéquate.

Je te laisse sur ces indications.
Bonne continuation
 

xUpsilon

XLDnaute Impliqué
Re,

Un peu de mal à voir ce que tu veux faire comme il y a simplement des données sur ta feuille et pas d'exemple de textbox en cascades mais j'ai déjà un souci avec les "?" qui sont à la place des "é".
Le fait est que "Sheets("Donn?es")" est très différent de "Sheets("Données")".

Commence par changer ça déjà, puis redis moi.

Bonne continuation
 

ROBYlois

XLDnaute Nouveau
Re,

Un peu de mal à voir ce que tu veux faire comme il y a simplement des données sur ta feuille et pas d'exemple de textbox en cascades mais j'ai déjà un souci avec les "?" qui sont à la place des "é".
Le fait est que "Sheets("Donn?es")" est très différent de "Sheets("Données")".

Commence par changer ça déjà, puis redis moi.

Bonne continuation
sur mon visualcode tous est bien écrit. pour voir le code il faut afficher le code (pas pris le temps de créer un bouton pour lancer le userform)
 

ROBYlois

XLDnaute Nouveau
grossomodo, je veut pouvoir filtrer 3 colonnes en cascade. la colonne num 4 "DT", la colonne num 6 "Phase" et la colonne num 24 "OF". et les afficher dans la list box.
 

xUpsilon

XLDnaute Impliqué
Re,

Tu m'envoies un fichier qui appelle une macro qui est stockée dans un autre fichier (qui par ailleurs est nommé bizarrement puisqu'il finit par .xlsb.xlsm) ...

Bonne continuation
 

ROBYlois

XLDnaute Nouveau
effectivement c'est du grand n'importe quoi. j'me félicite pas.
j'ai fait ça avec plusieur fichier excel ouvert .... du coup ...
j'ais recommencer avec un seul ouvert que je vous envoie en copie joins à ce message.
 

Fichiers joints

xUpsilon

XLDnaute Impliqué
Re,

Es-tu sûr que tu simplement repris ce qui étais dans un autre post ?
Plusieurs points m'intriguent :
- un scripting dictionnary set mais pas dim avant, et qui n'est pas utilisé de tout le code en plus de ça.
- des variables "clé", "n", "colRecherche" non définie
- Tbl(k,n) = TblBD(i,k) ? On échange lignes et colonnes ?

J'ai du mal à voir clair dans ce bout de code très honnetement.

Bonne continuation
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas