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

Phil69970

XLDnaute Barbatruc
Re

Désolé aussi je ne comprends pas tout
Tu as 7 onglets différents ?

Et ils ne s'appellent surement pas ....

1646328930686.png


4) Je traite ligne par ligne toutes tes conditions = NON, il faut traiter les onglets séparément car chaque onglet est un exemple de filtrage dont j'aurais besoin,
Ma macro ne va JAMAIS dans les autres onglets mais uniquement dans l'onglet "TOUTES LES LIGNES"

Dis autrement que viens faire alors la feuille "TOUTES LES LIGNES" dans l'histoire.

Si tu veux une macro différentes par feuille
Tu prends ma macro tu déactives les conditions que tu ne veux pas pour garder pour chaque feuille et tu gardes uniquement ce que tu veux garder ;)


@Phil69970
 

st007

XLDnaute Barbatruc
je ne suis pas un pro,mais j'avais eu un code qui fesait genre
set dest= onglet1
set dest2=onglet2
une boucle genre
for each cell in range "a6:a&derligne"
if cell offset (0;6)estdate and cell offset (0;7)=empty
then entire row.copy
_dest2
je recherche dans mes archives, là, c'était dans ma mémoire, mais l'idée était là, définir l'onglet de destination en fonction des valeurs d'une même ligne
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Phil :)
Tu es un champion ... c'est nickel et j'ai pu faire tous les codes.
Juste 1 petite mise modif :
- comme tu le verras onglet "TOUTES LES LIGNES", les lignes 1 et 3 sont à hauteur = 0.
Il faudrait que les filtres ne "touchent" les lignes qu'à partir de la ligne 6,

Je joins le fichier
Grand merci Phil pour ton travail et ta patience.
Bonne nuit,
lionel,
 

Pièces jointes

  • filtre_Phil.xlsm
    149.2 KB · Affichages: 2
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

Une version plus simple de toutes les feuilles

Edit : J'ai pas vu ton message je regarde..... et toi regarde de ton coté

Tu rajoutes
Sub FiltreTotal()
Dim ValCol_J, ValCol_K, ValCol_L
Dim Derlig&

With Worksheets("TOUTES LES LIGNES") 'A adapter au vrai nom de ta feuille
Derlig = .Range("A" & Rows.Count).End(xlUp).Row
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
.Rows.EntireRow.Hidden = False

'****** Ligne à ajouter
.Rows(1).Hidden = True
.Rows(3).Hidden = True
'****** Fin de ligne à ajouter

For i = Derlig To 6 Step -1


@Phil69970
 

Pièces jointes

  • Filtre V3.xlsm
    189.9 KB · Affichages: 6
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

Comme tu veux

Par contre je pense qu'il faut intervertir 1 ligne sur toutes les macros pour être sur que la dernière ligne soit bien la ..... dernière ligne

With Worksheets("TOUTES LES LIGNES") 'A adapter au vrai nom de ta feuille

Derlig = .Range("A" & Rows.Count).End(xlUp).Row
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
.Rows.EntireRow.Hidden = False
Derlig = .Range("A" & Rows.Count).End(xlUp).Row

@Phil69970
 

TooFatBoy

XLDnaute Barbatruc
Ci-joint une possibilité avec une méthode différente : utilisation des filtres d'Excel.

Note : évidemment le filtre 3 fonctionne mais n'affiche sûrement pas ce tu veux vu qu'il n'y a en réalité aucune date en colonne K.
 

Pièces jointes

  • Test_For.xlsm
    55.8 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 217
Messages
2 086 352
Membres
103 195
dernier inscrit
martel.jg