Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pour copier coller automatique à partir de Filtre ?

incubus20851

XLDnaute Occasionnel
Bonjour à toutes et à tous !

Je vous expose mon petit problème :
J'ai dans un onglet qui s'appel "Tout" toutes mes informations, j'ai les numéros de semaines en colonne A. Et j'ai d'autres onglets "Sem 2" et "Sem 3" ainsi de suite pour mettre ainsi les informations découpé par semaine.

Je mets à jour l'onglet "Tout" chaque semaine du coup arrivé à la semaine 31 de l'année j'vais avoir beaucoup de copier coller à faire dans les onglets et j'aimerais l'automatiser par un bouton macro.

Voici le déroulement de la macro, il fait fonctionner le filtre automatique en colonne A pour choisir le numéro de la semaine "2" ou "3" etc..
Il séléctionne la 1ère ligne filtré, vas le plus à droite et le plus en bas pour prendre toute la liste, et après va dans l'onglet correspondant à la semaine et colle les informations en A2.

Le problème c'est que quand je fais la séléction avec le filtre automatique pour la semaine "3" il commence en ligne A133, mais ça ne va pas toujours être à ce numéro que commence les données de la semaine 3.

Quel code mettre pour qu'il prenne la 1ère ligne filtré sans prendre en compte le numéro de la ligne ??

Le problème se trouve à la ligne Range("A133").Select

Si vous avez des idées ? Merci beaucoup d'avance..
A bientôt
Vincent

Code:
Sheets("Tout").Select
    Selection.AutoFilter Field:=1, Criteria1:="3"
    Range("A133").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Sem 3").Select
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A2").Select
    Sheets("Tout").Select
    Selection.AutoFilter Field:=1
    Range("A2").Select
End Sub
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : Macro pour copier coller automatique à partir de Filtre ?

Salut incubus20851
Bonjour le Fil
Bonjour le Forum

il faudrait que tu nous mettes un extrait de ton fichier (quelques lignes), sans données confidentielles, ainsi que le résultat escompté (un exemple quoi)

merci d'avance
Bonne journée
 

incubus20851

XLDnaute Occasionnel
Re : Macro pour copier coller automatique à partir de Filtre ?

Voilà le fichier exemple en pièce jointe !
 

Pièces jointes

  • TEST2.xls
    34.5 KB · Affichages: 161
  • TEST2.xls
    34.5 KB · Affichages: 170
  • TEST2.xls
    34.5 KB · Affichages: 172

incubus20851

XLDnaute Occasionnel
Re : Macro pour copier coller automatique à partir de Filtre ?

Merci beaucoup, ça marche nickel.

J'ai quand même une question.

Comment je pourrais faire pour mettre à jour plusieurs semaines rapidement ?
Car arrivée à la semaine 15 je devrais faire 15 fois l'opération suivante :

Mettre le numéro de semaine en A8, cliquez sur le bouton, mettre le numéro de la semaine suivante en A8 et recliquez sur le bouton, et ainsi de suite...

Une petite idée ?
Je sais je chipote, mais comme je remets toute les semaines à jour, chaque fois... c'est juste pour savoir si ça serait possible ?

Merci
A bientôt
Vincent
 

tototiti2008

XLDnaute Barbatruc
Re : Macro pour copier coller automatique à partir de Filtre ?

Bonjour à tous,

un exemple qui exporte toutes les semaines :
 

Pièces jointes

  • TEST2(1).xls
    35.5 KB · Affichages: 245
  • TEST2(1).xls
    35.5 KB · Affichages: 256
  • TEST2(1).xls
    35.5 KB · Affichages: 259

incubus20851

XLDnaute Occasionnel
Re : Macro pour copier coller automatique à partir de Filtre ?

Bonjour,

Merci pour cette solution c'est exactement ce qu'il me fallait,

Ca va bien me faciliter la vie !

Merci encore à ChTi160 et à tototiti2008

A bientôt
Vincent
 

incubus20851

XLDnaute Occasionnel
Re : Macro pour copier coller automatique à partir de Filtre ?

Petite question encore,
Dans un autre tableau qui est construit de la même façon, j'aimerais faire la même chose mais le filtre doit se faire sur B1, le numéro de semaine se trouve dans la colonne B maintenant en gros. J'ai fais plusieurs test pour changer les lettres de colonne, mais même à la fin en remplaçant tout les "A" par "B", ça ne marche pas.

Voici ci-dessous le code a adapter

Quelqu'un a une idée ?
Merci d'avance
A bientôt
Vincent

Code:
Sub Decoupe()
    ThisWorkbook.Worksheets("Tout").Activate
    For i = Application.WorksheetFunction.Min(ActiveSheet.Range("A1:A65536")) To Application.WorksheetFunction.Max(ActiveSheet.Range("A1:A65536"))
        ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:=i
        On Error Resume Next
        ThisWorkbook.Worksheets("Sem " & i).Range("A1:H65536").ClearContents
        ActiveSheet.Range("A1").CurrentRegion.Copy ThisWorkbook.Worksheets("Sem " & i).Range("A1")
        On Error GoTo 0
    Next i
    ActiveSheet.Range("A1").AutoFilter
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Macro pour copier coller automatique à partir de Filtre ?

Re,

je crois qu'il faut modifier comme ça :

Code:
Sub Decoupe()
    ThisWorkbook.Worksheets("Tout").Activate
    For i = Application.WorksheetFunction.Min(ActiveSheet.Range("[COLOR=red]B[/COLOR]1:[COLOR=red]B[/COLOR]65536")) To Application.WorksheetFunction.Max(ActiveSheet.Range("[COLOR=#ff0000]B[/COLOR]1:[COLOR=red]B[/COLOR]65536"))
        ActiveSheet.Range("A1").AutoFilter Field:=[COLOR=red]2[/COLOR], Criteria1:=i
        On Error Resume Next
        ThisWorkbook.Worksheets("Sem " & i).Range("A1:H65536").ClearContents
        ActiveSheet.Range("A1").CurrentRegion.Copy ThisWorkbook.Worksheets("Sem " & i).Range("A1")
        On Error GoTo 0
    Next i
    ActiveSheet.Range("A1").AutoFilter
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…