XL 2019 Problème de format dans combobox

netparty

XLDnaute Occasionnel
Bonjour à tous

Je me permet de solliciter votre aide,
Dans mon formulaire j'ai un combobox qui me permet de choisir les enregistrements par date mais cela bug, j'ai l'impression qu'il ne reconnait pas le format de ma date pourtant la cellule est bien dans le bon format.

Je vous joint mon fichier si quelqu'un aurais une idée à mon problème.


Je vous remercie d'avance

Bon weekend
 

Pièces jointes

  • Exemple.xlsm
    28.6 KB · Affichages: 24

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour NetParty,
Pourriez vous être un peu plus explicite concernant ce bug ? Le contexte où il se produit et l'effet non désiré.
Quand je teste votre fichier j'obtiens bien un filtrage par rapport à la date demandée :
1.jpg
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @netparty, @sylvanu ;),

Votre code fonctionne aussi sur mon PC, sinon essayez ceci qui est un peu plus concis :
VB:
Private Sub ComboBox3_click() ' autres documents
Dim i As Long
  DateINDautre = Me.ComboBox3
  Me.ListBox3.List = TblAUTRE
  For i = Me.ListBox3.ListCount - 1 To 0 Step -1
     If Not Me.ListBox3.List(i, 4) Like DateINDautre Then Me.ListBox3.RemoveItem i
   Next i
End Sub
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
bonjour a tous
et si on s'en passait du dico ?

remarques 1 °
1° remplissage de la combox3 sans dico et paramétrage des colonnes de la listbox3
on ne rempli pas la listbox comme tu l'a fait
2° le fait de mettre a 0 le listindex déclenche l'event click de la listbox( il faut le savoir) et par conséquent la listbox se rempli avec la totalité du tableau
3° le A65000 doit être moins stricte ,j'aurais mis ".cells(rows.count,"A").end(xlup).row

VB:
Option Compare Text
Dim f, G, h, Rng, TblFT, TblPLAN, TblAUTRE

Private Sub UserForm_Initialize()
    Set h = Sheets("AUTRES_DOCUMENTS"): Set Rng = h.Range("A9:E" & h.[A65000].End(xlUp).Row)
    TblAUTRE = Rng.Value

    With ComboBox3
        .AddItem "*"
        For I = LBound(TblAUTRE) To UBound(TblAUTRE)
            .Value = TblAUTRE(I, 5): If .ListIndex = -1 Then .AddItem TblAUTRE(I, 5)
        Next I
        .ListIndex = 0
    End With
    With Me.ListBox3
        .ColumnCount = Rng.Columns.Count
    End With
End Sub

remarques2°
ici tu a intérêt a être sur la bonne feuille lors du click sur listbox car Theline ne contient pas la propriété d’appartenance au sheet avec le quel elle a été déterminé c'est une simple variable long

VB:
Private Sub ListBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    ' A REVOIR  !!!!!!!!determiner le parent des cells absolument !!!!!!!!!!!!!!!!!!!!!'
    Dim TheLine As Integer

    TheLine = Sheets("SUIVI_IN-OUT").Range("A10000").End(xlUp).Row + 1

    With Me.ListBox3
        Cells(TheLine, 1) = .Column(0, .ListIndex)    ' Nom Fichier // Theline, cellule de destination : Colunn: colonne des données a prendre
        Cells(TheLine, 2) = .Column(1, .ListIndex)    ' Type de fichier
        Cells(TheLine, 3) = .Column(3, .ListIndex)    ' Indice
        Cells(TheLine, 4) = .Column(2, .ListIndex)    ' description

    End With

End Sub


pour le remplissage indicé par la combobox3 ça fonctionne


@mapomme :
remplir avec tblautre complet puis supprimer dans une boucle à reculons est une idée mais pas sur que ça soit plus rapide que la création d'un tableau puis .list=ce tableau

;)
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
cette partie est ;selon moi, la seule partie du module ou il y a rien a toucher ;)
bon le remplissage transposé (du au fait que l'on redim preserve un tableau((uniquement la 2d dimension redimentionable)) )peut paraître compliqué pour certains mais pour moi c'est propre
 

Discussions similaires

Réponses
2
Affichages
304

Statistiques des forums

Discussions
312 183
Messages
2 086 005
Membres
103 087
dernier inscrit
sarah.caneri