Revoyer valeur du menu deroulant dans filtre [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
-
 machoco -
Bonjour,

je suis entrain de créer un fichier excel en 2 page
1ere page correspond a la sélection
2eme page correspond au donner

Le but est de faire un tri.
pour les petite sélection j'ai utiliser des macro ou par un clic sur le boutonh, par exemple 1500t/min le filtre le page 2 sélectionne tous les 1500t/min.

Par contre pour les puissances je ne veux pas créer 50 boutons, donc j'ai créer un menu déroulant avec toute les valeur de puissance possible.
Et ce que je voudrais faire c'est que la valeur de puissance choisi du menu déroulant de la page 1, active le filtre de la puissance sélectionner dans la page 2.

Si quelqu'un a une idée
merci d'avance

18 réponses

Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
Re

de manière plus simple la je n'utilise pas de macro dans cette etape

ma casse du menu déroulant de la feuille 1 s'appelle tt

et je veux que la ligne C de la feuille 2 affiche tous les tt. par filtre

mais je n'arrive pas a le configurer
j'ai essayer personnaliser =tt mais ca ne marche pas
j'ai essayer par macro mais la ligne

Selection.AutoFilter Field:=4, Criteria1:="=tt", Operator:=xlAnd

ne fonctionne pas il ne trouve rien vu que cela n'est une valeur de la colonne C
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
54290
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
25 juillet 2021
16 270
Bonjour, GRAUFEL.
Pourrais-tu mettre à notre disposition un extrait de ton fichier pour qu'on comprenne mieux ton problème ?
A première vue on ne voit pas ce qui t'empêche, si ton menu déroulant est dans la cellule B8 et si tu veux lancer ton filtre à partir de la cellule P1, de saisir dans cette dernière la formule =B8.
Mais ton fichier est peut-être plus compliqué ?
Utilise https://www.cjoint.com/
Salut.
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
les boutou effectuer cela:

Sub pol1000()
'
' pol1000 Macro
' Macro enregistrée le 20/09/2007 par Joël GRAUFFEL
'

'
Sheets("don").Select
Selection.AutoFilter Field:=3, Criteria1:="1000"
Sheets("Calcul").Select
End Sub



j'aimerais effectuer la meme chosa mais a la place de plusieur bouton je voudrais un menu deroulant
merci d'avance
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 843
Bonjour,

je pense que c'est ça que tu veux
Range(ActiveWorkbook.Names("tt").Value).Value

C'est vrai que c'est bien d'utiliser les noms (surtout sur une feuille) mais des fois ça alourdi
Si ta feuille est selectionnée tu peux appeler le contenu plus facilement avec [C2].value

eric
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
merci pour ta réponse mais il me mets une faute sur le deuxième value.

mais il n'existe pas une combinaison pour attribuer la valeur d'une casse a un auto filtre?
Selection.AutoFilter Field:=3, Criteria1:="1000"

par exemple 1000 le remplacer par une case ou il irait cherché la valeur?
=P ( p nom de la case) ne marche pas
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
Sinon on peu pas passer par un genre de macro comme cela:

Si P = 0.09: Sheets("don").Select.Selection.AutoFilter Field:=4, Criteria1:="0,09"
Si P = 0.12: Sheets("don").Select.Selection.AutoFilter Field:=4, Criteria1:="0,12"
Si P = 0.18: Sheets("don").Select.Selection.AutoFilter Field:=4, Criteria1:="0,18"
Si P = 0.25: Sheets("don").Select.Selection.AutoFilter Field:=4, Criteria1:="0,25"
Si P = 0.37: Sheets("don").Select.Selection.AutoFilter Field:=4, Criteria1:="0,37"

Bon j'ai ni le debut ni la fin
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 843
Je pense que tu as mal testé...

- si tu passes par le nom :
Selection.AutoFilter Field:=3, Criteria1:=Range(ActiveWorkbook.Names("tt").Value).Value fonctionne très bien
- par désignation de la cellule :
Selection.AutoFilter Field:=3, Criteria1:=[C2].value fonctionne aussi très bien
ou Selection.AutoFilter Field:=3, Criteria1:=[Feuil2!C2].Value si ton critere n'est pas dans la feuille active

eric
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
Merci pou tout eriiic, ca fonctionne!!!!!
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
je vais encore poser une autre question juste pour information personnel,

le même cas mais si maintenant je n'ai pas de bouton de validation, mais une zones de liste déroulante ou lors de la sélection la recherche est immédiate.
on peut faire?

Sheets("don").Select
Selection.AutoFilter Field:=4, Criteria1:=Range(ActiveWorkbook.Names("Zone combinée 24").Value).Value
Sheets("Calcul").Select

merci
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
c'est ok trouvé comme un grand merci
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 843
De rien, bonne continuation
rebonjour la j'ai mon petit programme d'avant, par contre j'ai pas penser au personne qui ne voulait pas choisir par exemple, un montage horizontal ou vertical. donc j'ai mi un bouton montage0 qui met la valeur du filtre sur tous.
est t'il possible de l'intégrer dans mon menu déroulant sous "tous" pour que cette valeur soit indiquer.
merci


Sub montage()
'
' Vertical Macro
' Macro enregistrée le 24/09/2007 par Joël GRAUFFEL
'

'
Sheets("don").Select
Selection.AutoFilter Field:=1, Criteria1:=Range(ActiveWorkbook.Names("Mont").Value).Value
Sheets("Calcul").Select
End Sub
-----------------------------------------------------
Sub montage0()
'
' montage0 Macro
' Macro enregistrée le 24/09/2007 par Joël GRAUFFEL
'

'
Sheets("don").Select
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1
Sheets("Calcul").Select
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 843
Oui, bien sûr que c'est possible, à toi de tester la valeur et de lancer le flitre en conséquence.
eric
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
j'ai H V ou tous
quand h ou v filtre activer
quand autre
fittre sur tous
par coutre quand je mais une autre valeur que H ou V
il ne trouve rien alor qu'il devraic tous mettre
qu'elle est l'erreur?
merci d'avance

Sub montage()
'
' Vertical Macro
' Macro enregistrée le 24/09/2007 par Joël GRAUFFEL
'

'
Sheets("don").Select
If Mont = H Or V Then
Selection.AutoFilter Field:=1, Criteria1:=Range(ActiveWorkbook.Names("Mont").Value).Value
Else
Selection.AutoFilter Field:=1
End If
Sheets("Calcul").Select
End Sub
Messages postés
14
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
7 juillet 2008
1
j'y crois pas je cherche pendant une matinée quand je poste la question je trouve


If range("")>1 (valeur de la case)
Salut!

GRAUFEL et eriiic, votre discussion m'a été très utile...
par contre je n'ai pas compris :
est-ce que l'on peut, sur simple choix dans le menu déroulant, (et non en cliquant sur un bouton)
activer la macro qui fait le tri?

Merci
Messages postés
24141
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 juillet 2021
6 843
Bonjour,

Oui tout à fait, les menus d'excel sont parametrables en vba.
Mais là je préfère te renvoyer à l'aide excel qui est très bien faite.
Ecris menu dans ton code et fais F1 dessus, tout est expliqué
eric
Bonjour,
ok je prends bonne note...
merci