Se connecter avec
S'enregistrer | Connectez-vous

Tri et copie vers une autre feuille

Dernière réponse : dans Programmation

bonjour :bounce: 

je croix que je ne suis plus aussi nul comme au premier jour
mais mon l'amateurisme hélas fait de moi un apprenti
alors je suis un classeur excel et j'ai activé l'enregistreur de macro
puis j'ai essayé de l'executer ensuite mais ça ne fonctionne pas .

je vous explique ce que j'ai fait : j'ai une feuille excel nommé "nvell dispo" dans laquelle j'ai filtré sur une meme colonne "oblig" et "EMTN"
puis j'ai fait une copie de ce filtre dans ma feuille nommé synthese
puis l'enregistreur de macro m'a donné la macro ci-dessous:


  1. Sub Macro4()
  2. '
  3. ' Macro4 Macro
  4. ' Macro enregistrée le 12/05/2010 par H008369
  5. '
  6. ' Touche de raccourci du clavier: Ctrl+r
  7. '
  8. Selection.CurrentRegion.Select
  9. Selection.AutoFilter
  10. Selection.AutoFilter Field:=3, Criteria1:="=EMTN", Operator:=xlOr, _
  11. Criteria2:="=Oblig"
  12. Range("A185:I331").Select
  13. Selection.Copy
  14. Sheets("Synthèse").Select
  15. Range("A2").Select
  16. ActiveSheet.Paste
  17. End Sub


j'ai donc réecrit cette macro sous vba pour ma feuille synthese
ensuite j'ai essayé de l'executer dans le but de voir dans ma feuille synthese les données triées de la feuille nvell dispo ! mais j'ai l'erreur suivante :"x 400"
du coup je veux bien comprendre comment utiliser cette macro pour trier et copier les données triées dans ma feuille :??: 

merci :love: 

Autres pages sur : tri copie vers feuille

Lassé par la pub ? Créez un compte

Meilleure solution

voila ça marche comme ça .... :bounce: 

  1. Worksheets("Nlle Dispo").Range("A1:I451").Copy Worksheets("Synthèse").Range("A5")
  2. Range("A5:I455").Select
  3. Selection.AutoFilter
  4. Selection.AutoFilter Field:=3, Criteria1:="=Oblig", Operator:=xlOr, _
  5. Criteria2:="=EMTN"
  6. ActiveWindow.SmallScroll Down:=216


je serai un As one day :non: 

c'est un filtre que je fais et non un tri
mais je ne comprend pas pourquoi mon code ne fonctionne pas .

puis j'ai essayé de la façon suivante :


  1. Sub Macro4()
  2. '
  3. ' Macro4 Macro
  4. ' Macro enregistrée le 12/05/2010 par H008369
  5. '
  6. ' Touche de raccourci du clavier: Ctrl+r
  7. '
  8. Range("A185").Select
  9. Selection.CurrentRegion.Select
  10. Selection.AutoFilter
  11. Selection.AutoFilter
  12. Selection.AutoFilter Field:=3, Criteria1:="=EMTN", Operator:=xlOr, _
  13. Criteria2:="=Oblig"
  14. Range("A185").Select
  15. Selection.CurrentRegion.Select
  16. Selection.Copy
  17. Sheets("Synthèse").Select
  18. Range("A2").Select
  19. ActiveSheet.Paste
  20.  
  21. End sub


mais j'ai toujour la meme erreur "x 400"
Expert Programmation

Pour être un as, un jour ;)  :

Tu travailles avec plusieurs onglets. Ne traite donc aucune plage sans préciser l'onglet. (Ligne 2)

A chaque fois que tu vois un Truc.Select suivi d'un Selection.Machin, c'est que tu peux écrire directement Truc.Machin.

Pourquoi deux AutoFilter ?

Faut-il vraiment un SmallScroll dans ton code où est-ce un résidu de l'enregistreur de macro ?
Lassé par la pub ? Créez un compte