Rechercher : dans
Par :

Revoyer valeur du menu deroulant dans filtre

Dernière réponse le 16 oct 2007 à 07:04:11 GRAUFEL, le 21 sep 2007 à 13:21:16 
 Signaler ce message aux modérateurs

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

1

Raymond PENTIER, le 21 sep 2007 à 13:36:27

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 http://cjoint.com/
Salut. Un retraité au soleil des Antilles :-)
Raymond

Répondre à Raymond PENTIER

2

GRAUFEL, le 21 sep 2007 à 15:21:29
  • +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

Répondre à GRAUFEL

3

GRAUFEL, le 21 sep 2007 à 16:02:40

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

Répondre à GRAUFEL

4

eriiic, le 21 sep 2007 à 19:45:37

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

Répondre à eriiic

5

GRAUFEL, le 24 sep 2007 à 09:06:23

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

Répondre à GRAUFEL

6

GRAUFEL, le 24 sep 2007 à 09:37:22

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

Répondre à GRAUFEL

7

eriiic, le 24 sep 2007 à 09:38:02

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

Répondre à eriiic

8

GRAUFEL, le 24 sep 2007 à 09:55:06

Merci pou tout eriiic, ca fonctionne!!!!!

Répondre à GRAUFEL

9

GRAUFEL, le 24 sep 2007 à 10:16:19

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

Répondre à GRAUFEL

10

GRAUFEL, le 24 sep 2007 à 10:57:24

C'est ok trouvé comme un grand merci

Répondre à GRAUFEL

11

eriiic, le 24 sep 2007 à 12:01:32

De rien, bonne continuation

Répondre à eriiic

12

graufel, le 24 sep 2007 à 16:07:05

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

Répondre à graufel

13

eriiic, le 24 sep 2007 à 19:55:45

Oui, bien sûr que c'est possible, à toi de tester la valeur et de lancer le flitre en conséquence.
eric

Répondre à eriiic

14

GRAUFEL, le 25 sep 2007 à 10:57:51

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

Répondre à GRAUFEL

15

GRAUFEL, le 25 sep 2007 à 11:37:27

J'y crois pas je cherche pendant une matinée quand je poste la question je trouve


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

Répondre à GRAUFEL

16

Machoco, le 10 oct 2007 à 18:06:12

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

Répondre à Machoco

17

eriiic, le 10 oct 2007 à 18:52:37

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

Répondre à eriiic

18

 machoco, le 16 oct 2007 à 07:04:11

Bonjour,
ok je prends bonne note...
merci

Répondre à machoco