fonction filtre

dst17

XLDnaute Nouveau
Bonjour,

je cherche à utiliser la fonction filtre sous excel 2019. Suite à de précédentes discussions sur ce sujet, j'ai suivi les conseils
donnés mais malgré tout quelque chose ne fonctionne pas.
 

job75

XLDnaute Barbatruc
J'en profite pour simplifier ma fonction FiltreVBA :
Code:
Function FiltreVBA(tableau, critere(), defaut)
Dim ub1&, ub2%, i&, n&, j%
tableau = tableau
ub1 = UBound(tableau, 1)
ub2 = UBound(tableau, 2)
For i = 1 To ub1
    If critere(i, 1) Then
        n = n + 1
        For j = 1 To ub2
            tableau(n, j) = tableau(i, j)
        Next j
    End If
Next i
For i = n + 1 To ub1
    For j = 1 To ub2
        tableau(i, j) = defaut
Next j, i
FiltreVBA = tableau 'matrice
End Function
Application.Caller et la variable resu() étaient inutiles.
 

Pièces jointes

  • FiltreVBA.xlsm
    17.7 KB · Affichages: 13

dst17

XLDnaute Nouveau
J'en profite pour simplifier ma fonction FiltreVBA :
Code:
Function FiltreVBA(tableau, critere(), defaut)
Dim ub1&, ub2%, i&, n&, j%
tableau = tableau
ub1 = UBound(tableau, 1)
ub2 = UBound(tableau, 2)
For i = 1 To ub1
    If critere(i, 1) Then
        n = n + 1
        For j = 1 To ub2
            tableau(n, j) = tableau(i, j)
        Next j
    End If
Next i
For i = n + 1 To ub1
    For j = 1 To ub2
        tableau(i, j) = defaut
Next j, i
FiltreVBA = tableau 'matrice
End Function
Application.Caller et la variable resu() étaient inutiles.
merci beaucoup pour votre aide
 

job75

XLDnaute Barbatruc
Vous n'avez peut-être pas compris comment la fonction doit être appliquée.

Il faut sélectionner toute la plage jaune H3:L9, entrer la formule dans la barre de formule puis valider en bloc matriciellement par Ctrl+Maj+Entrée.
 

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon