Microsoft 365 filtrages que je ne parviens pas à coder

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

J'ai des filtrages à mettre en place et voilà une semaine que je tourne en rond sans parvenir à réussir les codes.
J'ai tenté en boucle mais je n'y arrive pas :mad:

Dans le fichier joint, j'ai créé les onglets pour montrer mes besoins selon les conditions :
1 - TOUTES LES LIGNES à filtrer selon les critères dans les onglets qui suivent,
Résultats attendus
2 - J=date - K = vide (si la col J contient des dates et la col K est vide),
3 - J=vide - K = vide (si les col J et K sont vides),
4 - J=date - K = date (si les col J et K contiennent des dates),
5 - J K L= vide (si les col J K L sont vides),
6 - si la col J contient "NPR",
7 - si la col J contient "RdV Fait",
8 - si la col J contient "RdV Fait Facturé",

J'ai les neurones en forme de chou fleur lol,
Pourriez-vous m'aider ?
Fichier test joint,

Je vous remercie par avance.
Je continue mes tests,
Amicalement,
lionel,
 

Pièces jointes

  • Test_For.xlsm
    139.7 KB · Affichages: 8
Dernière édition:
Solution
Re

Lionel

J'ai fait les 2 premiers

1646335398955.png


A toi de faire les autres ;)

Si tu n'y arrives pas je ferais les autres


@Phil69970

Staple1600

XLDnaute Barbatruc
Re

Ca peut se piloter ainsi
VB:
Sub test() ' pour Rappels
Dim rCrit As Range
Set rCrit = Range("AC5:AD6")
Range("AC5").FormulaR1C1 = "=AND(ISNUMBER(RC[-19]),RC[-19]>=1)"
Range("AD6").FormulaR1C1 = "=RC[-19]="""""
Range("A5:K21").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rCrit, Unique:=False
End Sub
NB: On aura pris soin au préalable d'avoir fait ce que Marcel a fait en K5 ;)

PS: je précise que c'est un test.
Si je devais aller plus loin, déjà je n'utiliserai pas un contrôle Formulaire mais un contrôle ActiveX (ce qui m'éviterai l'emploi de la feuille 1)
Si je devais aller encore plus loin, je n'utiliserai pas de macro, mais les affichages personnalisés et la QAT
Mais je ne dois pas aller si loin, car je dois d'abord aller faire mes courses. ;)
 

Staple1600

XLDnaute Barbatruc
RE

Si il donne le même résultat, sinon je n'aurai pas posté le code...
Encore faut-il faire ce que j'ai indiqué concernant la cellule K5

Quand on filtre sur Rappels, seules sont visibles les lignes 6,7,20 et 21 non ?
C'est ce que donne comme résultat le code du message#107
Et c'est ce que fait le code initial.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
"Encore faut-il faire ce que j'ai indiqué concernant la cellule K5"
J'ai mis ton code dans le fichier de marcel = donc c'est fait je pense :)
Et c'est le fichier que je t'ai joint.


"Quand on filtre sur Rappels, seules sont visibles les lignes 6,7,20 et 21 non ?"
NON : juste les lignes 6 et 7 pour ce cas
:)
 

TooFatBoy

XLDnaute Barbatruc
Si je devais aller plus loin, déjà je n'utiliserai pas un contrôle Formulaire mais un contrôle ActiveX (ce qui m'éviterai l'emploi de la feuille 1)

Bonjour,

Tu comptes les activer comment ces filtrages ?
- Un bouton pour chaque filtrage ?
- Une liste déroulante pour sélectionner le filtrage à activer ?
- etc.
Je ne sais pas encore mais pour l'instant, l'important est que je trouve les bonne codifications :)

Donc j'ai pris un truc au hasard. Ca aurait pu être 8 boutons, mais c'est tombé sur une "liste déroulante de formulaire".
J'ai cherché comment ça se mettait en oeuvre.
J'ai pondu un bout de code, et j'ai posté le tout.
C'est tout. ;)
 

Staple1600

XLDnaute Barbatruc
Re

Précisions pour Marcel
Je pensais que c'est Lionel qui employait le contrôle Formulaire (puisqu'il a fait un fil sur ce sujet)
Mais peu importe, ce n'est pas une critique
C'est juste avec un ActiveX, on peut se passe de lié le contrôle à une feuille.
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 881
Membres
103 009
dernier inscrit
dede972