filtrer avec plusieurs critères en VBA

blancolie

XLDnaute Impliqué
Bonsoir le forum;

Dans ce fichier ci-joint et dans l'onglet données planning un filtrage avec plusieurs critères.Dans la feuille données planning j'ai mis en H1 , J1 et L1 et c'est dans les cellules au fond gris qu'on met les critères.

Je m'explique : le code suivant :

VB:
Option Explicit
Option Compare Text    'la casse est ignor?e
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Sh As Worksheet, col&

    Set Sh = ThisWorkbook.Sheets("Données Planning")

    [A1].AutoFilter 'ca peux etre ca tout simplement


    Select Case Target.Address(0, 0)
    Case "I1": col = 3
    Case "K1": col = 4
    Case "M1": col = 5
    Case Else: col = 0:
    End Select

    If Target.Value <> "" And col <> 0 Then
        [A1].AutoFilter Field:=col, Criteria1:=Target.Value
    Else
        Sh.AutoFilterMode = False
    End If
End Sub



Ce code suivant qu'un membre m 'a gentiment construit en répondant à mon post précédent marche bien mais j'aimerais avoir un filtrage qui va plus dans le détail c'est a dire quand je sélectionne l'agent, j'aimerais qu'on puisse filtrer les différentes permanence et les différents périodes du même agent. j'espère avoir été assez clair. j'aimerais aussi faire l'inverse à partir de la période.

Si aucune cellule contenant de critères, faut que le filtrage s'efface. Peut-être que à partir d'un bouton, on peut réinitialiser mon petit menu ?

Cette liste est amené à s'agrandir ou à être diminué, don cil faut que le codage prenne en compte les rajouts de lignes ou de suppressions sinon, je risque d'avoir un erreur.

Merci à vous.

pouvez vous me mettre en parallèle le code au cas ou je n'arrive pas à ouvrir le fichier. cela m'arrive quelquefois a cause du vba. Merci à vous
 

Pièces jointes

  • Astreinte-exemple.xlsm
    119.8 KB · Affichages: 129
Dernière édition:

blancolie

XLDnaute Impliqué
Bonsoir soan,
je reviens vers toi pour le filtrage que tu as crée et qui marche bien mais il y a un hic (lol).

Le hic c'est que si je filtre sur la plante sélectionnée et que je profite de rajouter une donnée alors la le filtrage disparait.

Et j'aimerais que le filtrage ne disparait pas si je fais une modification.

c'est le même fichier sur lequel tu as travaillé mais j'ai enlevé les autres onglets car cette base de donnée va me servir pour plusieurs fichiers.

en te remerciant d'avance
 

Pièces jointes

  • BDD_Fleurs.xlsm
    89.1 KB · Affichages: 1

blancolie

XLDnaute Impliqué
bonjour,

cela ne marche pas. Je ne sais pas si mon explication a été clair. quand on filtre sur un critère ou une plante, le filtrage se fait. ce que je souhaite, c'est pouvoir apporter ou modifier un élément sans que le filtrage s'efface.

cordialement
 

soan

XLDnaute Barbatruc
Inactif
Je ne comprends pas, car pour moi c'est ok ; le filtre n'a pas été effacé ! :)

* quand tu ouvres le fichier, il y a déjà un filtre sur la colonne F "Plante" ➯ il y a
une seule ligne affichée, celle avec « Achillea millefolium "Summer Pastels" »

* dans le cadre « Rajouter une ligne », tu avais déjà saisi des données pour une
nouvelle plante « Bergenia cordiflora "Schneekristall" » (et c'est ok)

* clique sur le bouton « Copier » ; la plante « Bergenia... » a été cherchée dans
le tableau, mais comme elle n'a pas été trouvée, elle a été ajoutée en fin de
tableau, en ligne 470 ; elle apparaît sous la ligne 30 (celle avec « Achillea... ») :

Image.jpg


* note bien que le filtre est toujours actif (regarde les petites flèches bas de la ligne 26
des en-têtes)
; c'est d'ailleurs grâce à ce filtre qu'il y a seulement 2 lignes, et pas
toutes les lignes du tableau.

N'est-ce pas cela que tu voulais ? ;)


soan
 

blancolie

XLDnaute Impliqué
Bonsoir Soan,

oui effectivement quand j'ouvre fichier du poste 78, il ya bien une seule ligne avec le filtrage demandé sur la plante suivante :Achillea millefolium "Summer Pastels"

mais par exemple si je mets un N° de page dans la colonne page alors le filtrage disparait et j'ai toutes les lignes qui apparaissent.

et ce n'est pas ce que je veux. je veux pouvoir apporter une ou des modifications dans cette ligne et c'est seulement en effaçant le filtrage par le bouton filtrage que tout doit revenir à la normale.

cordialement
 

Discussions similaires