Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonsoir a tous dans excel je n'ai pas la fonction FILTRE puis je l'avoir et comment ont fait pour l'avoir merci de votre aide ! la marche a suivre exactement dans la mesure du possible moi j'ai excel 2016 que j'ai acheter !
Bonsoir.
D'après ce que j'en ai vu, elle n'est guère compliquée à écrire en VBA. Mais il n'accepte pas que je l'appelle FILTRE. Alors j'ai enlevé le 'E' à la fin :
VB:
Function FILTR(ByVal TDonn, ByVal TCond)
Dim LE&, LS&, C&
If TypeOf TDonn Is Range Then TDonn = TDonn.Value
If TypeOf TCond Is Range Then TCond = TCond.Value
For LE = 1 To UBound(TDonn, 1)
If TCond(LE, 1) Then
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = TDonn(LE, C)
Next C: End If: Next LE
Do While LS < UBound(TDonn, 1)
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = ""
Next C: Loop
FILTR = TDonn
End Function
#Dranreb : merci beaucoup pour cette macro, qui va me permettre de déployer mon petit fichier excel écrit avec le fonction filtre (office 365), sur les postes de ma boite qui sont encore en 2016 🙂
Bonsoir.
D'après ce que j'en ai vu, elle n'est guère compliquée à écrire en VBA. Mais il n'accepte pas que je l'appelle FILTRE. Alors j'ai enlevé le 'E' à la fin :
VB:
Function FILTR(ByVal TDonn, ByVal TCond)
Dim LE&, LS&, C&
If TypeOf TDonn Is Range Then TDonn = TDonn.Value
If TypeOf TCond Is Range Then TCond = TCond.Value
For LE = 1 To UBound(TDonn, 1)
If TCond(LE, 1) Then
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = TDonn(LE, C)
Next C: End If: Next LE
Do While LS < UBound(TDonn, 1)
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = ""
Next C: Loop
FILTR = TDonn
End Function
Bonjour Drandeb,
un grand merci pour cette macro, cela va me permettre de déployer mon petit fichier utilisant la fonction Filtre (365) sur les poste de ma société, majoritairement en 2016 🙂
Bonsoir.
D'après ce que j'en ai vu, elle n'est guère compliquée à écrire en VBA. Mais il n'accepte pas que je l'appelle FILTRE. Alors j'ai enlevé le 'E' à la fin :
VB:
Function FILTR(ByVal TDonn, ByVal TCond)
Dim LE&, LS&, C&
If TypeOf TDonn Is Range Then TDonn = TDonn.Value
If TypeOf TCond Is Range Then TCond = TCond.Value
For LE = 1 To UBound(TDonn, 1)
If TCond(LE, 1) Then
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = TDonn(LE, C)
Next C: End If: Next LE
Do While LS < UBound(TDonn, 1)
LS = LS + 1
For C = 1 To UBound(TDonn, 2)
TDonn(LS, C) = ""
Next C: Loop
FILTR = TDonn
End Function
Merci pour votre astuce, c'est très élégant !
Cependant, elle ne fonctionne pas sur toutes les version d'Excel. Dans mon cas, je n'arrive pas à la faire fonctionner sur la version 14.0 (et version 16.0 apparemment aussi) d'Excel alors qu'elle fonction sur les versions les plus récentes (versions qui contiennent la fonction Filtre par défaut ..)
Avez-vous une astuce pour ça ?
Je peux vous transmettre un fichier avec une Excel d'application
cette fois ci j'ai cette fonction filtre car j'ai sur mon ordinateur
Microsoft 365 que j'ai fait installer chez un magasin informatique et bien sur excel 2016 a était désinstaller
et je peux dire
que cette formule est formidable je la metrise comme un chef !
merci a vous quand même et bonne soirée .
Merci pour votre retour et votre réactivité !
J'ai appliqué votre conseil, en effet ça fonctionne mais partiellement, la fonction ne me retour qu'une valeur alors qu'il y en a deux qui correspondent au critère.
Non. Sélectionnez toute la plage matricielle, cliquez dans la barre de formule et validez par Ctrl+Maj+Entrée.
La fonction met des textes vides à la fin si la plage matricielle comporte trop de lignes.
Non. Sélectionnez toute la plage matricielle, cliquez dans la barre de formule et validez par Ctrl+Maj+Entrée.
La fonction met des textes vides à la fin si la plage matricielle comporte trop de lignes.
- 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