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

XL 2021 Tableau de données, tri depuis une autre feuille

Beetwin

XLDnaute Nouveau
Bonjour la communauté ,

J'aurais besoin d'un âme charitable avec un peu de temps à m'accorder
J'aurais besoin sur ma page d'accueil de pouvoir faire un tri concernant qui fait référence à ma page Balance Propriétaire .
J'ai bien trouvé une discutions, avec un exemple , sur vos pages mais je n'arrive pas à modifier la trame pour que cela puisse être en adéquation avec mon tableau .

Au lieu d'aller chercher les informations dans la feuille Tableau - à remplacer par Balance propriétaire
Au lieu d'aller chercher les information dans la feuille Travail - à remplacer par Tables

Merci d'avance , à celui où celle qui prendras sont temps pour m'aider
 

Pièces jointes

  • SCI CHERGUI SUIVI COMPTABILITE--.xlsm
    62.9 KB · Affichages: 5
Solution

Beetwin

XLDnaute Nouveau
Bonjour Beetwin,

Ce n'est pas clair, on ne sait pas s'il s'agit d'un tri ou d'un filtrage.

Alors expliquez en français ce que vous voulez faire.

A+
Bonjour,
Oui en effet c'est plus un filtrage qu'un tri
De manière à extraire sur la page d'accueil les données sous plusieurs conditions
Conditions qui seront sélectionnés via des listes déroulantes

J'espère avoir été un peu plus clair
 

Pièces jointes

  • SCI CHERGUI SUIVI COMPTABILITE-- (1).xlsm
    58.3 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour Beetwin, le forum,

Toujours pas clair.

1) Seules les cellules jaunes sont les critères du filtrage ?

2) Quel doit être le résultat du filtrage et où faut-il le mettre ?

A+
 

job75

XLDnaute Barbatruc
Voyez le fichier joint et cette macro affectée au bouton :
VB:
Sub Filtre()
Dim ncol%, crit1$, crit2$, crit3$, crit4$, tablo, i&, n&, j%
ncol = 13 'nombre de colonnes étudiées
With Sheets("Page d'accueil")
    crit1 = .[B7]: crit2 = .[D7]: crit3 = .[F7]: crit4 = .[H7]
    If Trim(crit1) = "" Then crit1 = "*"
    If Trim(crit2) = "" Then crit2 = "*"
    If Trim(crit3) = "" Then crit3 = "*"
    If Trim(crit4) = "" Then crit4 = "*"
    tablo = [Balance_propriétaire].Resize(, ncol) 'matrice, plus rapide
    For i = 1 To UBound(tablo)
        If tablo(i, 1) Like crit1 And tablo(i, 3) Like crit2 And tablo(i, 5) Like crit3 And tablo(i, 7) Like crit4 Then
            n = n + 1
            For j = 1 To ncol
                tablo(n, j) = tablo(i, j) 'copie la ligne
            Next j
        End If
    Next i
    '---restitution---
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[B10] '1ère cellule de destination
        If n Then .Resize(n, ncol) = tablo
        .Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
    End With
End With
End Sub
Utilisant un tableau VBA elle est très rapide.
 

Pièces jointes

  • Filtre(1).xlsm
    43.8 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour le forum,

On peut se passer du bouton :
VB:
Option Compare Text 'la casse est ignorée

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ncol%, crit1$, crit2$, crit3$, crit4$, tablo, i&, n&, j%
ncol = 13 'nombre de colonnes étudiées
crit1 = [B7]: crit2 = [D7]: crit3 = [F7]: crit4 = [H7]
If Trim(crit1) = "" Then crit1 = "*"
If Trim(crit2) = "" Then crit2 = "*"
If Trim(crit3) = "" Then crit3 = "*"
If Trim(crit4) = "" Then crit4 = "*"
tablo = [Balance_propriétaire].Resize(, ncol) 'matrice, plus rapide
For i = 1 To UBound(tablo)
    If tablo(i, 1) Like crit1 And tablo(i, 3) Like crit2 And tablo(i, 5) Like crit3 And tablo(i, 7) Like crit4 Then
        n = n + 1
        For j = 1 To ncol
            tablo(n, j) = tablo(i, j) 'copie la ligne
        Next j
    End If
Next i
'---restitution---
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [B10] '1ère cellule de destination
    If n Then .Resize(n, ncol) = tablo
    .Offset(n).Resize(Rows.Count - n - .Row + 1, ncol).ClearContents 'RAZ en dessous
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
La macro se déclenche quand on modifie ou valide une cellule quelconque de la feuille.

A+
 

Pièces jointes

  • Filtre(2).xlsm
    40.7 KB · Affichages: 10

Beetwin

XLDnaute Nouveau
merci , c'est parfait
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…