OVH Cloud OVH Cloud

Première valeur d'un filtre

8 réponses
Avatar
David T.
Bonsoir à tous

Cette macro me permet de vérifier si le filtre de feuil2 est actif
si non, cela fonctionne
si oui, j'aimerais récupérer la valeur de la première cellule filtrée

Sub U75_QUANDCLIC()

If Worksheets("Feuil2").FilterMode = True Then
'il me manque le code ici je pense
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8, Criteria1:=" ici la valeur de la première
cellule filtrée"
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
Else:
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
End If
End Sub

comment finir ceci ?

Merci de votre aide.

David

8 réponses

Avatar
isabelle
bonjour David,

Dim PremLigne As Long
With Sheets("Feuil2").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If .Areas(1).Rows.Count > 1 Then PremLigne = .Rows(2).Row _
Else PremLigne = .Areas(2).Row

isabelle


Bonsoir à tous

Cette macro me permet de vérifier si le filtre de feuil2 est actif
si non, cela fonctionne
si oui, j'aimerais récupérer la valeur de la première cellule filtrée

Sub U75_QUANDCLIC()

If Worksheets("Feuil2").FilterMode = True Then
'il me manque le code ici je pense
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8, Criteria1:=" ici la valeur de la première
cellule filtrée"
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
Else:
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
End If
End Sub

comment finir ceci ?

Merci de votre aide.

David


Avatar
David T.
Bonjour et merci isabelle

mais là je ne comprends rien du tout.

A vrai dire j'essai de me lancer dans des procédures mais ....bref dur

Un peu plus d'explications serait la bienvenue

Le début de ma procédure est faux ?

Salutations

david
Avatar
isabelle
bonjour David,

dans la procedure NuméroDePremLigne c'est le numéro de la première ligne
qui est retourné. si c'est une valeur que tu cherche il faudrait savoir
aussi dans quel colonne il faut chercher.

Public PremLigne As Long
Sub NuméroDePremLigne()
With Sheets("Feuil2").AutoFilter.Range.SpecialCells(xlCellTypeVisible)
If .Areas(1).Rows.Count > 1 Then PremLigne = .Rows(2).Row Else PremLigne
= .Areas(2).Row
End With
End Sub

Sub U75_QUANDCLIC()
If Worksheets("Feuil2").FilterMode = True Then
NuméroDePremLigne
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8, Criteria1:=PremLigne
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
Else:
Sheets("Feuil1").Select
Selection.AutoFilter Field:=8
Selection.AutoFilter Field:=6, Criteria1:="Type"
Selection.AutoFilter Field:=4, Criteria1:="Genre"
End If
End Sub

isabelle



Bonjour et merci isabelle

mais là je ne comprends rien du tout.

A vrai dire j'essai de me lancer dans des procédures mais ....bref dur

Un peu plus d'explications serait la bienvenue

Le début de ma procédure est faux ?

Salutations

david


Avatar
David T.
Re Isabelle

En effet la recherche doit se faire dans la colonne P

Je l'indique ou ?

Merci de ton aide très précieuse
Avatar
isabelle
re bonjour David,

dans la procédure U75_QUANDCLIC modifie la ligne suivante :

Selection.AutoFilter Field:=8, Criteria1:=PremLigne
par
Selection.AutoFilter Field:=8, Criteria1:=Range("P" & PremLigne).value

isabelle


Re Isabelle

En effet la recherche doit se faire dans la colonne P

Je l'indique ou ?

Merci de ton aide très précieuse


Avatar
David T.
Erreur

Erreur d'exécution '1004'
La méthode 'Range' de l'objet '_Global' a échoué
Avatar
isabelle
oup's, il faut mentionner la feuille
Selection.AutoFilter Field:=8, Criteria1:=Sheets("Feuil2").Range("P" &
PremLigne).value

isabelle


Erreur

Erreur d'exécution '1004'
La méthode 'Range' de l'objet '_Global' a échoué


Avatar
David T.
Hé ben voila, ca marche hyper bien

un grand merci.

Bon week-End

Salutations