Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp , 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" T hen
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>=13/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp , 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" T hen
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JB
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp , 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" T hen
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JB
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JB
Bonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Bonsoir,
A placer dans un module:
Function Estfiltré()
Application.Volatile
Estfiltré = IIf(ActiveSheet.AutoFilterMode, "Filtré", "pas
filtré")
End Function
Dans le tableur: =EstFiltré()
La fonction ci dessous donne l'expression du filtre:
VILLE=Paris QUALIF=C DateNaiss>/10/60 par exemple.
http://cjoint.com/?ljvw2HMOgz
Function FiltreTotal()
Application.Volatile
chaine = ""
For c = 1 To Range("_FilterDataBase").Columns.Count
If FiltreActuel(c) <> "*" Then
If IsDate(Range("_FilterDataBase").Cells(2, c)) Then
chaine = chaine & Range("_FilterDataBase").Cells(1, c) &
FiltreActuel(c, "D") & " "
Else
chaine = chaine & Range("_FilterDataBase").Cells(1, c).Value &
FiltreActuel(c) & " "
End If
End If
Next c
If chaine = "" Then chaine = "Tout"
FiltreTotal = chaine
End Function
Function FiltreActuel(col, Optional typeCol As String)
Application.Volatile
If ActiveSheet.AutoFilterMode Then
If ActiveSheet.AutoFilter.Filters.Item(col).On Then
temp = ActiveSheet.AutoFilter.Filters.Item(col).Criteria1
If Left(temp, 2) = ">=" Or Left(temp, 2) = "<=" Then
o = Left(temp, 2): n = Mid(temp, 3)
Else
If Left(temp, 1) = "=" Or Left(temp, 1) = ">" Or Left(temp, 1)
= "<" Then
o = Left(temp, 1): n = Mid(temp, 2)
Else
n = temp
End If
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp = o & n
'---
If ActiveSheet.AutoFilter.Filters.Item(col).Operator Then
oper = IIf(ActiveSheet.AutoFilter.Filters.Item(col).Operator
= 1, " ET ", " OU ")
On Error Resume Next
Err = 0
temp2 = ActiveSheet.AutoFilter.Filters.Item(col).Criteria2
If Err = 0 Then
If Left(temp2, 2) = ">=" Or Left(temp2, 2) = "<=" Then
o = Left(temp2, 2): n = Mid(temp2, 3)
Else
If Left(temp2, 1) = "=" Or Left(temp2, 1) = ">" Or
Left(temp2, 1) = "<" _
Then o = Left(temp2, 1): n = Mid(temp2, 2)
End If
If typeCol = "D" Then n = Format(n, "dd/mm/yy")
temp2 = o & n
Else
oper = ""
End If
End If
FiltreActuel = temp & oper & temp2
Else
FiltreActuel = "*"
End If
Else
FiltreActuel = "Pas de filtre"
End If
End Function
Cordialement JBBonjour à tous,
Supposons positionné en 2ème ligne des flèches de filtre
automatique. Les cellules A2, B2,...., portent donc chacune une
flèche de fitre.
Y a-t-il une possibilité de ramener la valeur VRAI (ou tout autre
information) dans la cellule A2 p.ex. si le filtre en A2 est activé ?
En d'autres mots y a-t-il un moyen d'avoir un retour d'information sur
le fait qu'un filtre sur une colonne particuliaire est actif ou pas ?
Que ça serait bien si c'était possible ! Merci d'avance. - Croy
Rebonjour les amis,
Excusez moi de vous déranger encore une fois.
Voilà, j'ai testé toutes les solutions qui m'ont été proposées.
Celle de FxM marche tip-top et celle de JB avec la correction MichDenis
aussi (sauf qu'il faut rajouter "cell" entre les parantèses au moment
de la déclaration de la fonction).
Je n'arrive par contrepas a faire fonctionner celle de Pierre
Fauconnier. De plus si les formules fonctionnent très bien en
Feuille2, les même formule copié-collées en Feuille1 ne fonctionne
pas. Je dois faire une boulette de débutant mais vraiment je vois pas:
http://cjoint.com/?lkpwK2a6du
Si il y a quelqu'un qui passe sur ce fil et qui pourrait m'expliquer ce
qui cloche... ça serait super cool. - Croy
Rebonjour les amis,
Excusez moi de vous déranger encore une fois.
Voilà, j'ai testé toutes les solutions qui m'ont été proposées.
Celle de FxM marche tip-top et celle de JB avec la correction MichDenis
aussi (sauf qu'il faut rajouter "cell" entre les parantèses au moment
de la déclaration de la fonction).
Je n'arrive par contrepas a faire fonctionner celle de Pierre
Fauconnier. De plus si les formules fonctionnent très bien en
Feuille2, les même formule copié-collées en Feuille1 ne fonctionne
pas. Je dois faire une boulette de débutant mais vraiment je vois pas:
http://cjoint.com/?lkpwK2a6du
Si il y a quelqu'un qui passe sur ce fil et qui pourrait m'expliquer ce
qui cloche... ça serait super cool. - Croy
Rebonjour les amis,
Excusez moi de vous déranger encore une fois.
Voilà, j'ai testé toutes les solutions qui m'ont été proposées.
Celle de FxM marche tip-top et celle de JB avec la correction MichDenis
aussi (sauf qu'il faut rajouter "cell" entre les parantèses au moment
de la déclaration de la fonction).
Je n'arrive par contrepas a faire fonctionner celle de Pierre
Fauconnier. De plus si les formules fonctionnent très bien en
Feuille2, les même formule copié-collées en Feuille1 ne fonctionne
pas. Je dois faire une boulette de débutant mais vraiment je vois pas:
http://cjoint.com/?lkpwK2a6du
Si il y a quelqu'un qui passe sur ce fil et qui pourrait m'expliquer ce
qui cloche... ça serait super cool. - Croy