Filtre données

Résolu
bonjour comment ecrire une macro qui
va faire un filtre de données dans une feuille excel puis me colle les données triées dans une autre feuille

merci de votre aide
je suis perdu

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    je te le dis tout de suite, comme ça pas de surprise : je suis pas un pro des macros. je m'y suis mis il y a peu. mais j'arrive à me débrouiller pour ce que je fais. ^^

    pour ta demande, ce que je te conseille c'est d'enregistrer une macro avec les manips que tu fais pour trier les données puis les copier dans une autre feuille.
    tu vas voir le code que ça t'a généré et tu le testes, tu le modifies, ... pour qu'il te convienne.

    pour enregistrer une macro (sous Excel 2007), dans la partie "Développeur" du ruban, sélectionnes "Enregistrer une macro".
    tu fais les manips qui te permettent de trier les données puis de les copier sur une autre feuille. une fois terminé, tu arrêtes la macro en cliquant sur le carré bleu en bas à gauche.
    pour voir le code, tu fais Alt+F11. il se trouvera dans Module1 de VBAProject.

    si tu as un problème ou des questions, n'hésite pas. je verrais si je peux t'aider. ^^
    1. re,

      essaie ce code :
      Range("$A$1:$I$452").Select
      Selection.AutoFilter
      ActiveSheet.Range("$A$1:$I$452").AutoFilter Field:=3, Criteria1:="=EMTN", _
      Operator:=xlOr, Criteria2:="=Oblig"
      Selection.Copy
      Sheets("Synthèse").Select
      Range("A5").Select
      ActiveSheet.Paste
      1. bonjour merci du conseil j'ai fait comme tu as dit
        puis je l'ai testé directement mais j'ai une erreur du type "x 400"
        puis plus rien ne se passe ..
        de ce qui est d'aranger le code je laisse ça au pro ..
        peu tu m'expliquer pourquoi mon code ne fonctionne pas
        Sub Macro8()
        '
        ' Macro8 Macro
        ' Macro enregistrée le 12/05/2010 par H008369
        '
        ' Touche de raccourci du clavier: Ctrl+l
        '
            Range("A1:I452").Select
            ActiveWindow.SmallScroll Down:=-6
            Selection.AutoFilter
            Selection.AutoFilter Field:=3, Criteria1:="=EMTN", Operator:=xlOr, _
                Criteria2:="=Oblig"
            Selection.Copy
            Sheets("Synthèse").Select
            Range("A5").Select
            ActiveSheet.Paste
        End Sub


        merci
        1. j'ai oublié une precision ce n'est pas un tri que je fais mais un filtre
          1. ça marche
            mais voila comment je l'ai fait aussi
            :
            Sub macro()
            Worksheets("Nlle Dispo").Range("A1:I451").Copy Worksheets("Synthèse").Range("A5")
                Range("A5:I455").Select
                Selection.AutoFilter
                Selection.AutoFilter Field:=3, Criteria1:="=Oblig", Operator:=xlOr, _
                    Criteria2:="=EMTN"
                ActiveWindow.SmallScroll Down:=216
            End sub


            merci encore
            1. de rien ^^

              la ligne ActiveWindow.SmallScroll Down:=216 tu peux la supprimer.
              elle veut juste dire que tu t'es déplacé dans la feuille, en utilisant la molette par exemple.

              ciao ;-)