Copie d'une ligne en fonction de résultat d'une colonne

Bonjour à tous,

Après avoir posé une première question sur ce forum, je me permets d'en reposter une suite à la modification de ce que je recherche.

Je m'explique.

J'ai un tableau (que vous trouverez ci-joint), composé d'environ 200 lignes et d'une trentaine de colonne. Ce que j'aimerais, c'est qu'en fonction du résultat de la colonne AN (soit "Oui" ou "Non"), ce copie toutes les lignes correspondant à la réponse "Oui". Petite précision, j'aimerais que ces nouvelles lignes se copient dans une autre page et qu'il ne me copie que quelques colonnes (celle qui m'intéresse).

Dans ma feuille de résultats, les lignes peuvent-elles être recopiée les unes après les autres sans laissé d'espace (de ligne vide).

Enfin, je ne sais pas si cela est possible, mais est-il possible que lorsque je vais rajouter des lignes dans mon premier tableau, mon tableau de résultat se mette à jour ?

Merci pour votre aide.

Cordialement.

Bonjour,

voir du côté d'un filtre avancé et, en activant le Générateur de macros, une base de code est livrée sur un plateau !

Astuce : se placer sur la feuille de destination avant d'appeler le filtre avancé …

Bonjour,

Super ça marche bien les filtres avancés

Par contre, 2 interrogations :

  • Je ne comprends pas, régulièrement, le filtre me dit la chose suivante : Base de données ou plage de tableau non valide. Peut-être est-ce du fait que j'ai fusionné des données (mais que je n'ai pourtant pas sélectionné...)
  • Je dois créer une nouvelle macro ? Une fois créer, je dois faire quoi exactement

Merci pour votre aide très précieuse.

Le code sera créé par le Générateur de macros lors de la manipulation …

Pour le reste, je laisse la main à un intervenant pouvant ouvrir ton classeur joint.

Je rejoins le fichier avec le filtre avancé mis en place (et le problème que j'ai qui va avec ^^).

Merci pour ton aide Marc, j'espère que quelqu'un pourra compléter tes dires

Bonjour,

Après acharnement, j'ai réussi à obtenir ce que je cherchais, enfin à peu de chose prêt.

Est-il possible que la copie des lignes se fasse sans la mise en forme (pour une meilleure lecture, j'avais remplie le fond en couleur d'une ligne sur deux). Cependant, avec le filtre, cela n'a plus d'intérêt et rend la lecture moins efficace dans mes résultats ?

Sub Macro_filtre()
'
' Macro_filtre Macro
'

' Partie filtre

    Sheets("Sélection").Range("B3:AN199").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("C1:AO4"), CopyToRange:=Range("Résultats!Extract"), _
        Unique:=True
    Range("B7:O43").Select

' Partie trie
        ActiveWindow.SmallScroll Down:=-24
    Application.DeleteCustomList ListNum:=9
    Application.AddCustomList ListArray:=Array("Très grand", "Grand", "Moyen")
    ActiveWorkbook.Worksheets("Résultats").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Résultats").Sort.SortFields.Add Key:=Range( _
        "B8:B41"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Très grand,Grand,Moyen", DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Résultats").Sort
        .SetRange Range("B7:O43")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Enfin, est-il possible de copier les lignes en les décalant en fonction des résultats d'une cellule ? Dans le fichier que j'ai donné, j'aimerais par exemple que lorsque je copie la ligne 8, alors la ligne 9 se copie en laissant 40 lignes entre et la ligne précédente (40 lignes, correspondant aux nombre de pièce inscrit en M8).

Merci

Rechercher des sujets similaires à "copie ligne fonction resultat colonne"