Microsoft 365 Amélioration code vba recherché

  • Initiateur de la discussion Initiateur de la discussion blancolie
  • Date de début Date de début

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 !

blancolie

XLDnaute Impliqué
Bonjour le forum,

ds ce fichier et dans l'onglet données planning, je souhaite faire un petit filtrage. Voici le code que j'ai adpaté :

VB:
Option Explicit
Option Compare Text 'la casse est ignor_e
Private Sub Worksheet_Change(ByVal Target As Range)

' Si le changement à lieu en cellule "A2"
If Not Application.Intersect(Target, Range("I1")) Is Nothing Then

    ThisWorkbook.Sheets("Données Planning").AutoFilterMode = False
    
    If Target.Value <> "" Then
        ' Filtre en Feuil1, sur la colonne 4, avec comme critère la valeur entrée
        ThisWorkbook.Sheets("données planning").Range("A1").AutoFilter Field:=3, Criteria1:=Target.Value
    End If

End If
' Si le changement à lieu en cellule "A2"
If Not Application.Intersect(Target, Range("K1")) Is Nothing Then

    ThisWorkbook.Sheets("Données Planning").AutoFilterMode = False
    
    If Target.Value <> "" Then
        ' Filtre en Feuil1, sur la colonne 4, avec comme critère la valeur entrée
        ThisWorkbook.Sheets("Données Planning").Range("A1").AutoFilter Field:=4, Criteria1:=Target.Value
    End If

End If
If Not Application.Intersect(Target, Range("M1")) Is Nothing Then

    ThisWorkbook.Sheets("Données Planning").AutoFilterMode = False
    
    If Target.Value <> "" Then
        ' Filtre en Feuil1, sur la colonne 4, avec comme critère la valeur entrée
        ThisWorkbook.Sheets("Données Planning").Range("A2").AutoFilter Field:=5, Criteria1:=Target.Value
    End If

End If

End Sub

Le soucis c'est que quand j'efface le critère recherché, le filtrage ne s'éfface pas. le Menu se situe dans l'onglet donnée planning juste à côté du tableau à filtrer; Agent : critère recherché puis permanence: critère recherché et période : critère recherché.)


Avez vous une solution pour que le filtrage s'éfface si pas de critère indiquée et peut-etre que vous connaissez un truc plus stylé (lol) . le but c'est de pouvoir remplacé un agent par un autre.

cordialemnt
 

Pièces jointes

Bonjour Patricktoulon,

Merci pour ton code. Est il possible d'améliorer ce code ? c'est à dire, j'aimerais paufiner le filtrage car quand je tape le nom de l'agent cela marche tres bien mais si je tape le type de permanence, cela ne tient pas compte de l'agent sélectionné. et idem pour la période.

Si c'est possible, en te remerciant
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
257
Réponses
18
Affichages
718
Réponses
4
Affichages
155
Réponses
1
Affichages
323
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
234
Réponses
4
Affichages
364
Retour