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

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

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:

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

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