Revoyer valeur du menu deroulant dans filtre

Résolu
GRAUFEL Messages postés 14 Statut Membre -  
 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

  1. GRAUFEL Messages postés 14 Statut Membre 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
  2. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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.
    0
  3. GRAUFEL Messages postés 14 Statut Membre 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
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GRAUFEL Messages postés 14 Statut Membre 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
    0
  7. GRAUFEL Messages postés 14 Statut Membre 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
    0
  8. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
  9. GRAUFEL Messages postés 14 Statut Membre 1
     
    Merci pou tout eriiic, ca fonctionne!!!!!
    0
  10. GRAUFEL Messages postés 14 Statut Membre 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
    0
  11. GRAUFEL Messages postés 14 Statut Membre 1
     
    c'est ok trouvé comme un grand merci
    0
  12. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    De rien, bonne continuation
    0
  13. graufel
     
    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
    0
  14. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Oui, bien sûr que c'est possible, à toi de tester la valeur et de lancer le flitre en conséquence.
    eric
    0
  15. GRAUFEL Messages postés 14 Statut Membre 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
    0
  16. GRAUFEL Messages postés 14 Statut Membre 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)
    0
  17. Machoco
     
    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
    0
  18. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
  19. machoco
     
    Bonjour,
    ok je prends bonne note...
    merci
    0