Copier-coller conditionnel sur feuille différente

Bonjour cher forum,

À l'onglet Sélection, je fais une sélection en "E2" pour en suite générer un tirage et filtrer le résultat, et je souhaiterais récupérer uniquement la sélection du filtre à partir de "B5:H" jusqu'à la dernière cellule non vide de H, et le copier dans la feuille en "A5:G" correspondant à la condition sélectionné en "E2".

Condition : Neuf pour la feuille Valeur-Sap, Existant pour la feuille Valeur-Existant.

Pour l'heure, j'ai commencé sur une feuille test, le copier-coller fonctionne bien, mais le code sélectionne au delà de la dernière ligne de H. Disons que rendu là, je peine à aller plus loin.

Bref, merci de votre temps et votre générosité.

Tentative de code

Sub Coller()
'
'Coller-copier selon une condition dans la feuille dédiée à la condition
'Test à l'aide d'un bouton
'
'
'
'If ("E2" = "Existant") Then
Sheets("Sélection").Range("B5:H" & Range("H" & Rows.Count).End(xlUp).Row).Copy
    With Sheets("test")
        .Range("A5:H" & Range("H" & Rows.Count).End(xlUp).Row).PasteSpecial Paste:=xlPasteValues
        .Range("A5:H" & Range("H" & Rows.Count).End(xlUp).Row).PasteSpecial Paste:=xlPasteFormats
    End With

   'Else

'End If
Application.CutCopyMode = False
End Sub
28audit-test1.xlsm (444.04 Ko)

Bonjour,

Une proposition ?

Cdlt.

27audit-test1.xlsm (385.00 Ko)

Bonjour Jean-Éric,

Merci pour votre proposition.

Sauf qu'il y a un petit souci avec le code. Ce dernier colle bien dans la feuille test, mais ne tient pas compte des mêmes chiffres de la colonne A (Aléatoire).

D'un autre côté, je n'ai pas besoin de coller les informations de la colonne A, je souhaiterais plutôt copier-coller de la colonne B:H dans la feuille test en A:G.

Éventuellement, j'aimerais que le copier-coller fonctionne avec le bouton Filtrer_selection et colle dans la feuille correspondante selon E2 (choisi au préalable), si je sélectionne Neuf colle dans la feuille Valeur_SAP, si je sélectionne Existant colle dans la feuille Valeur-Existant.

Merci pour votre aide.

A+

Bonjour Jean-Éric,

Que pensez-vous de ce code :

Sub Filtre()
'
' Filtre Macro
' Trie et filtre
' mise à jour :ulangzx 2019-08-08

'
    Application.Goto Reference:="R5C3"
    Range("C5").AutoFill Destination:=Range("C5:C" & Range("C" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
    Range("C4").AutoFilter
    ActiveSheet.Range("A5:C" & Range("C" & Rows.Count).End(xlUp).Row).AutoFilter Field:=3, Criteria1:="<>"

Dim ws As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim n As Double
Dim rng As Range
Const XLMax As Double = 9.99999999999999E+307

    Set ws = Worksheets("Sélection")
    Set ws2 = Worksheets("Valeur-SAP")
    Set ws3 = Worksheets("Valeur-Existant")

    'ws2.Cells(5, 1).CurrentRegion.ClearContents

    With ws
        n = Application.Match(XLMax, .Columns(8), 1)
        Set rng = .Cells(5, 2).Resize(n - 4, 8)
    End With

    If Range("E2") = "Neuf" Then

    rng.Copy
    ws2.Cells(5, 1).PasteSpecial xlPasteValuesAndNumberFormats

    ElseIf Range("E2") = "Existant" Then

    rng.Copy
    ws3.Cells(5, 1).PasteSpecial xlPasteValuesAndNumberFormats

    End If

    Application.CutCopyMode = False

End Sub
Rechercher des sujets similaires à "copier coller conditionnel feuille differente"