Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2019filtre avancée avec plusieurs critère "avec macro"
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 !
Il faut respecter le nom des entêtes c'est pour cela que ça ne fonctionne pas.
Il mettre date pour les 2 cellules (A3 et B3) au lieu de jusqu'à date et à partir date.
Je t'ai envoyé ton fichier en retour, il faut faire un effort de compréhension.
Il faut insérer une ligne en ligne5, ensuite tu fais un clic-droit sur l'onglet "statistique" et colle le code ci-dessous
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing Then
Target.Offset(-1, 0) = ">=" & Target.Value2
End If
If Not Intersect(Target, Range("B5")) Is Nothing Then
Target.Offset(-1, 0) = "<=" & Target.Value2
End If
End Sub
Les dates doivent être saisies dans les cellules A5 et B5 (en A4 e B4 il y aura une formule)
Re, merci de m'avoir orienté.
Ce qui m'a induit en erreur😵, c'est le '#NOM?', je croyais les formules y étaient dans le fichier initial de @le___destin.
Merci c'est plus clair😎.
Chaque fois qu'on met des formules dans les filtres avances, Excel ne comprend pas que c'est l'en-tête de colonnes et affiche cela. On s'y habitue car le filtre lui comprend et agit. C'est le principal...
Merci d'avoir signalé l'erreur dans mon code, au fait 😉
bonsoir les amis
avant tout, je vous remercie beaucoup pour vos aide
le code marche bien
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A5")) Is Nothing Then
Sheets("statistique").Unprotect Password:="Destin0931"
Target.Offset(-1, 0) = ">=" & Target.Value2
End If
If Not Intersect(Target, Range("B5")) Is Nothing Then
Sheets("statistique").Unprotect Password:="Destin0931"
Target.Offset(-1, 0) = "<=" & Target.Value2
Sheets("statistique").Protect Password:="Destin0931"
End If
End Sub
juste une petite chose, je veux que si j'efface les date du cellules A5 et B5 les cellule A4 et B4 sois vide qui ce n'est pas le cas
et merci
Ma réponse concernant la formule à modifier correspond à la solution que j'ai donnée au #18 et au fichier que j'y ai joint, pas à un mélange avec celle de cp4.
Elle ne nécessite pas de code au changement du choix des dates car ce sont les formules associées au filtre qui agissent.
Je suis absolument d'accord avec Chris. D'ailleurs, je pense que tu ne sais pas vraiment ce que tu veux.
Mon dernier code à tester
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A5")) Is Nothing Then
If Target.Value <> "" Then
Target.Offset(-1, 0) = ">=" & Target.Value2
Else
Target.Offset(-1, 0) = ""
End If
End If
If Not Intersect(Target, Range("B5")) Is Nothing Then
If Target.Value <> "" Then
Target.Offset(-1, 0) = "<=" & Target.Value2
Else
Target.Offset(-1, 0) = ""
End If
End If
End Sub
- 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