Combobox filtre

pobrouwers

XLDnaute Occasionnel
Bonjour le forum,

J'ai un USF avec une combobox qui a le code suivant :
Code:
Dim Plage As String
With Sheets('CDF')
Plage = .Range('C2:F' & .Range('D65536').End(xlUp).Row).Address
End With
With Me.ComboCDF
.ColumnCount = 4
.ColumnWidths = '150;0;0;0'
.RowSource = 'CDF!' & Plage
End With
Ensuite j'ai un autre code qui me donne le nom du folder dans lequel le fichier se trouve.
Code:
Dim rep As Variant
Dim rep1 As Variant

rep = Split(ThisWorkbook.Path, '\\')
rep1 = rep(UBound(rep))

Dans la plage de donnée, la colonne F correspond au nom du folder

ce que je souhaiterais c'est que dans le premier code, j'intègre le 2eme code pour que j'aie une combobox filtrée sur le critère du nom du folder (un peu comme un filtre auto)
Merci

Message édité par: pobrouwers, à: 19/01/2006 13:45
 

Hervé

XLDnaute Barbatruc
re

Sans avoir testé, ce type de code ne devrait pas etre loin d'une certaine vérité :


Sub Feuil2_Bouton1_QuandClic()
Dim rep As Variant
Dim rep1 As string
Dim c As Range

rep = Split(ThisWorkbook.Path, '\')
rep1 = rep(UBound(rep))

With Me.ComboCDF
        .ColumnCount = 4
        .ColumnWidths = '150;0;0;0'
       
For Each c In Sheets('CDF').Range('F2:F' & Sheets('CDF').Range('F65536').End(xlUp).Row)
               
If c = rep1 Then
                        .AddItem c
                        .List(.ListCount - 1, 1) = c.Offset(0, -1)
                        .List(.ListCount - 1, 2) = c.Offset(0, -2)
                        .List(.ListCount - 1, 3) = c.Offset(0, -3)
               
End If
       
Next c
End With
End Sub


salut


edition : correction du code

Message édité par: hervé, à: 19/01/2006 14:04
 

pobrouwers

XLDnaute Occasionnel
Merci Hervé pour la réponse rapide...
Mais ca ne fonctionne pas. Mais je crois que c'est certainement très proche de la réalité
Je joints le fichier. Si tu as 5 min, peux-tu regarder ?
j'ai ajouté ton code dans le UserForm_Initialize
Le résultat dans le usf est la premiere combobox
Pour le test, il faut sauver le fichier dans le répertoire PH. BALAINE (par exemple) (attention a l'orthographe ;) )
Merci d'avance [file name=LE2006bis.zip size=25819]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/LE2006bis.zip[/file]

Message édité par: pobrouwers, à: 19/01/2006 14:33
 
Dernière édition:

Hervé

XLDnaute Barbatruc
re

en pièce jointe ton fichier modifié.

je me suis permis de retoucher deux ou trois choses.

-pense à déclarer tes variables IMPORTANT
- Les gestionnaires d'erreurs ne servent pas à verifier si les textbox sont vides ou pas.
- a la place des boucles loop pour trouver un numéro de ligne vide, utilises plutot range('a65536').end(xlup) (plus rapide, moins gourmand)
- pense à indenter ton code (tabulation) et à laisser des lignes vides entre les différentes structures de ton code, c'est plus lisible.

voilà :)

salut [file name=le.zip size=24382]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/le.zip[/file]
 

Pièces jointes

  • le.zip
    23.8 KB · Affichages: 74

pobrouwers

XLDnaute Occasionnel
Bonsoir Hervé,

Je me permets a nouveau de te solliciter ...
Serait-il possible de faire un check dans le fichier ci-dessus. C'est à dire empêcher le double encodage, de vérifier avant de valider si les données saisies dans le USF n'ont pas été déja encodées (=> doublons). Faire le check sur les colonnes A, C, E, F.
La cerise sur le gâteau serait que s'il y a doublon, le curseur se positionnerait sur la ligne déja encodée dans le tableau.
J'ai regardé les différents posts au sujet des doublons mais je pédale grave dans la semoule.
Peux-tu regarder ?
Merci d'avance.

Message édité par: pobrouwers, à: 24/01/2006 08:16
 

Discussions similaires

Réponses
4
Affichages
186
Réponses
2
Affichages
293

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 766
dernier inscrit
mahieux