Microsoft 365 Recherche,Filtrer et Trier

kyasteph

XLDnaute Occasionnel
Bonjour
J'ai un fichier excel sur lequel je peux effectuer plusieurs opérations de recherche ,de filtre et de tri.
J'arrive à obtenir les résultats en travaillant directement sur la feuille,cependant cela est assez fastidieux car
cela prend assez de temps.
Dans mes recherches je suis tombé sur la méthode avec userform qui répond à ce que je veux,sauf que là encore j'ai un
souci que je n'arrive pas à résoudre depuis:
1)Problème de solde cumulé:
Dans la listbox le résultat n’apparaît pas comme dans le fichier excel directement en faisant par exemple la même
opération:
colonne filtre = N° Cpte gle ,N° Cpte gle = 602100
2)Affichage (de colonne) prédéfini
dans la liste box en fonction de l’occurrence d'un combobox (type_Recherche):
Par exemple:
-Si type_Recherche = 1;alors ColVisu = Array(1, 2, 3, 4, 8, 14, 17, 18, 19)
-Si type_Recherche = 2;alors ColVisu = Array(1, 2, 3, 4, 8, 14, 20, 21, 22)

Merci de m'aider s'il vous plait
 

Pièces jointes

  • Test_Recherche.xlsm
    44.3 KB · Affichages: 24

kyasteph

XLDnaute Occasionnel
Bonjour
Je vous remercie de vous intéresser à mon problème.
En ce qui concerne votre question,ce n'est pas forcément de remplir la listbox avec des colonnes non contiguës, mais simplement d'adapter l'affichage des colonnes en fonction du choix opéré dans la combobox 1(Tupe_recherche).
Aussi mon plus gros problème est le 1(pb de solde cumulé).
Je vous remercie par avance pour votre aide
 

kyasteph

XLDnaute Occasionnel
Bonjour,
Apres réflexion et plusieurs test,je crois que mon problème en ce qui concerne le solde cumulé(problème n° 1),
une solution serait d’appliquer dans la colonne "solde cumulé",la formule suivante "SOUS.TOTAL(9;Débit)-SOUS.TOTAL(9;Crédit)"
à chaque ligne de la colonne "solde cumulé" de la listbox,à compter de la première ligne de la listbox après le choix de la ComboFiltre.
Seulement,je ne sais comment y arriver.
Merci de m'aider s'il vous plait
 

kyasteph

XLDnaute Occasionnel
Bonjour
Je viens encore vers vous pour mon problème,après plusieurs veilles j'évolue à pas de tortue.
J'ai modifier mon code "Affiche" comme suivant:
VB:
Sub Affiche()
  Dim Tbl()
  clé = Me.ComboFiltre: If clé = "" Then clé = "*"
  n = 0
  totCredit = 0: totDebit = 0: Solde = 0
 
  col = Me.ComboChoixCol.ListIndex + 1
  If col < 1 Then Exit Sub
  For i = 1 To UBound(TabBD)
    If TabBD(i, col) Like Me.ComboFiltre Then
        n = n + 1: ReDim Preserve Tbl(1 To NbCol + 1, 1 To n)
        c = 0
        For c = 1 To NbCol: Tbl(c, n) = TabBD(i, c): Next c
        Tbl(c, n) = TabBD(i, NbCol + 1)
    End If
  Next i
  If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
End Sub

Avec ce code j'arrive à faire apparaître le solde cumulé à chaque ligne de la colonne 19
,seulement à l'ouverture de l'userform;et cela fonctionne.
(Bien entendu j'ai effacé les formules de cette colonne dans le fichier excel feuille "Journal")

Mais une fois que je change les valeurs de ComboChoixCol et ComboFiltre;par exemple:
ComboChoixCol.Value = N° Cpte gle et ComboFiltre.Value = 605600,
les résultats de la colonne 19 (Solde Cumulé) sont incohérents.

Quelqu'un peut il m'aider s'il vous plait?
Je vous remercie d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG