Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Userform Filtres ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion jcf6464
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jcf6464

XLDnaute Impliqué
Bonjour à vous toutes et tous,

Je désire un éclaircissement sur le pourquoi le userform filtres ne fonctionne pas ,

Détail ; j'ai récupérer un classeur de (Partick toulon) je les mis à mon gout tout fonctionne ah j'ai mis dans le userform avec une listview à la place d'une listBox plus agréable à la vue,
Pour Patrick quand on valide une ligne de la listview normalement la cellule index ce met en jaune les premières jusqu’à 21 cela est aléatoire soit cet sur la date ou une autre cellule,

Notre amis ChTi160 à créer un code pour les filtres sur un autre classeur sur l’autre tout fonctionne,
Post :https://excel-downloads.com/threads/filtre-avec-userform-sur-tableau-structure.20086946/

J'ai voulu le transposer sur le nouveau classeur avec ses modules et là il ne fonctionne plus, dans les modules j'ai changer le nom du tableau et de la feuille,

Bonne soirée bon WE jcf6464
 

Pièces jointes

Dernière édition:
Bonjour a vous tous,

J'ai modifier le code de jean marie il y a un petit problème quand tu sélectionne une ligne de la listview cela fonctionne l'index se met en jaune mais quand tu change de ligne l'index car tu à cliquer sur la mauvaise ligne l'index précédent reste en jaune,

De plus il n'y à plus le scroling de l'index sur la feuille cela veut dire que sur la listview tu sélectionne un index cela ne le met pas en visuel sur la feuille j’espère que je me suis bien exprimer ,


bonne continuation jcf6464
 
Dernière édition:
Re ,
Pour la première demande .
Il doit y avoir dans la procédure avant de Colorer (dans le Tableau Structuré) la ligne sélectionnée (dans la ListView) une ligne qui efface toutes les couleurs présentent dans le Tableau Structuré.
VB:
.DataBodyRange.Interior.ColorIndex=xlNone 
'Efface la couleur précédente
Pour la deuxième demande .
Je pense qu'il devrait y avoir un "Goto" quelque part. Lol
Depuis mon téléphone
Jean marie
 
Toutafé, il y a. 😉
Bonjour a vous tous,
j'ai rajouter la ligne entre /// cela fonctionne ,
Les couleurs sont effacer en fermant par le bouton fermer de userform

VB:
Combo.Value = ListView_List.ListItems(Lg)
    LigneSel = CLng(Combo.Value)
   ' Set r = Range("Tbl_ListBowling[Index]").Find(CLng(LigneSel)) 'ancienne Ligne
    Set r = Range("Tbl_ListBowling[Index]").Find(what:=CLng(LigneSel), LookIn:=xlValues, lookat:=xlWhole) 'Nouvelle Ligne
'////
    Range("Tbl_ListBowling").ListObject.Range.Interior.Color = xlNone   ' Avec le tableau structuré on efface les Couleurs   'Nouvelle Ligne rajouter jcf
'////
   r.Interior.ColorIndex = 27      ' 42 est le code couleur qui permet de changer la couleur de la cellule sélectionnée

De plus il n'y à plus le scroling de l'index sur la feuille cela veut dire que sur la listview tu sélectionne un index cela ne le met pas en visuel sur la feuille j’espère que je me suis bien exprimer ,
reste en suspend...



bon après midi au frais ici 34° jcf6464
 
Dernière édition:
j'ai rajouter la ligne entre /// cela fonctionne ,
Il faut surtout le laisser là où il était déjà inscrit dans la macro donnée, entre autre, en #22 (corrigée par #29, bien sûr).
VB:
Private Sub ListView_List_ItemClick(ByVal Item As MSComctlLib.ListItem)
'
Dim LigneSel As Long, r, Lg

    Application.ScreenUpdating = False

    Lg = ListView_List.SelectedItem.Index

    ' *****************Alimenter les Textbox"*************************
    Me.Txt_NumC = Item                          ' Numéro Ligne
    Me.Txt_Date = Item.ListSubItems(1)          ' Date
    Me.CmbLieux = Item.ListSubItems(2)          ' Lieux
    Me.TextDepDivers = Item.ListSubItems(3)     ' Dépenses diverses
    Me.TextInscription = Item.ListSubItems(4)   ' Inscription
    Me.TextMtParties = Item.ListSubItems(5)     ' MtPartie
    Me.TextBoisson = Item.ListSubItems(6)       ' Boisson
    Me.CmbMode = Item.ListSubItems(7)           ' Mode
    Me.TextObservation = Item.ListSubItems(8)   ' Observation
    Me.TextAutre = Item.ListSubItems(9)         ' Autre
    Me.TextCompet = Item.ListSubItems(10)       ' Compet
    Me.TextPau = Item.ListSubItems(11)          ' Pau
    Me.TextQLIbre = Item.ListSubItems(12)       ' QLibre
    Me.CmbDescripCompet = Item.ListSubItems(13) ' DescripCompet

    Range("Tbl_ListBowling").ListObject.Range.Interior.Color = xlNone   ' Avec le tableau structuré

    Combo.Value = Format(ListView_List.ListItems(Lg), "0")
    LigneSel = CLng(Combo.Value)    ' ListView_List.SelectedItem
    Set r = Range("Tbl_ListBowling[Index]").Find(what:=CLng(LigneSel), LookIn:=xlValues, lookat:=xlWhole)
    r.Interior.ColorIndex = 27      ' 42 est le code couleur qui permet de changer la couleur de la cellule sélectionnée

    Application.ScreenUpdating = True

End Sub



Les couleurs sont effacer en fermant par le bouton fermer de userform
Si tu veux que les couleurs soient supprimées lors de la fermeture du UserFrm, c'est peut-être plutôt dans "UserForm_QueryClose" qu'il faut supprimer lesdites couleurs.
VB:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Range("Tbl_ListBowling").Interior.ColorIndex = xlNone
End Sub



Et tu dois pouvoir remplacer
VB:
Private Sub Cdb_Fermer_Click()
'
Dim ws As Worksheet
Dim tbl As ListObject
Dim cell As Range

    ' Spécifiez le nom de votre feuille de calcul
    Set ws = Sheets("ListeBowling") ' Remplacez par le nom de votre feuille

    ' Spécifiez le nom de votre tableau
    Set tbl = ws.ListObjects("Tbl_ListBowling") ' Remplacez par le nom de votre tableau

    ' Effacez la couleur de remplissage de toutes les cellules du tableau
    For Each cell In tbl.DataBodyRange
        cell.Interior.ColorIndex = xlNone
    Next cell

    Range("G1").Select
    Unload Me

End Sub
par
VB:
Private Sub Cdb_Fermer_Click()
'
    Range("Tbl_ListBowling").Interior.ColorIndex = xlNone

    Range("G1").Select
    Unload Me

End Sub
 
Dernière édition:
Re
Merci TooFatBoy
cela fonctionne aussi

bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 User Form
Réponses
9
Affichages
314
Réponses
38
Affichages
888
  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
217
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…