Microsoft 365 ListBox Multipage

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 !

eric72

XLDnaute Accro
Bonjour à tous,
je fais un essai sur un userform "multipage", ma listbox de l'onglet "pot" s'alimente bien mais j'ai un souci sur la listbox de l'onglet "plaque", j'ai tout essayé en vain.
Mais je suis bien sur que l'un d'entre vous va trouver le bug en 15 secondes.
Merci pour votre aide
Eric
 

Pièces jointes

Re Patrick
dans conception de la Table tu as "Ligne Total" en dessous de "ligne d'entêtes" !
il va dire : "aujourd'hui, j'ai appris quelque chose (donc bonne journée
Lol
)
Bon je n'ai rien dit Lol
Moi c'est tous les jours Lol
jean marie
 
Dernière édition:
re
Bonjour @ChTi160
bon ben voila vous l'avez avec la ligne "Total"

j'en ai même fait une fonction utilitaire
je l'ai appelé "IsEmpty_After_Filter" c'est suffisamment explicite je crois
c'est bo' la vie non ?
VB:
Sub test()
    With ActiveSheet.ListObjects("Tableau1").Range
        .AutoFilter Field:=1, Criteria1:="efrez"
    End With
        MsgBox IsEmpty_After_Filter(Range("Tableau1[#all]"), "Total")
End Sub


Function IsEmpty_After_Filter(rng As Range, title$)
   Dim t&
   With rng
        t = Abs(.Columns(1).Cells(.Columns(1).Cells.Count).Value = title)
        IsEmpty_After_Filter = Not .Columns(1).SpecialCells(xlVisible).Cells.Count - t > 1
    End With
End Function

demo7.gif
 
re
@ChTi160
et bien soit si on a accès a cette propriété alors
on prend les mêmes et on recommence
je precise que j'ai testé sur un tableau avec ligne total et un sans
VB:
Sub test()
    With ActiveSheet.ListObjects("Tableau1").Range
        .AutoFilter Field:=1, Criteria1:="cefrez"
    End With
        MsgBox IsEmpty_After_Filter(Range("Tableau1[#all]"), "Total")
End Sub

Sub test2()
    With ActiveSheet.ListObjects("Tableau2").Range
        .AutoFilter Field:=1, Criteria1:="cefrez"
    End With
        MsgBox IsEmpty_After_Filter(Range("Tableau2[#all]"), "Total")
End Sub

Function IsEmpty_After_Filter(rng As Range, title$)
   Dim t&
   With rng
        t = Abs(rng.ListObject.ShowTotals)
        IsEmpty_After_Filter = Not .Columns(1).SpecialCells(xlVisible).Cells.Count - t > 1
    End With
End Function
😁
 
euh
Je sais pas si je me suis bien fait comprendre Lol
je parlais de ça !
On supprime "Total" et donc "title$"
VB:
Sub test()
    With ActiveSheet.ListObjects("Tableau1").Range
        .AutoFilter Field:=1, Criteria1:="cefrez"
    End With
        MsgBox IsEmpty_After_Filter(Range("Tableau1[#all]"))
End Sub

Sub test2()
    With ActiveSheet.ListObjects("Tableau2").Range
        .AutoFilter Field:=1, Criteria1:="cefrez"
    End With
        MsgBox IsEmpty_After_Filter(Range("Tableau2[#all]"))
End Sub

Function IsEmpty_After_Filter(rng As Range)
   Dim t&
   With rng
        t = Abs(rng.ListObject.ShowTotals)
        IsEmpty_After_Filter = Not .Columns(1).SpecialCells(xlVisible).Cells.Count - t > 1
    End With
End Function
Bonne journée
jean marie
 
- 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
Réponses
8
Affichages
282
Réponses
16
Affichages
1 K
Réponses
21
Affichages
301
Retour