Copier et coller des lignes

bjr,

j ai besoin de programmer une macro qui fait la chose suivante : elle parcourt toutes les lignes et verifie deux conditions sur une feuille ("Sheet1") : si dans la colonne( E )elle trouve "oui " et dans la colonne (F) figure la date d'aujourdhui alors elle deplace le ligne correspondante à une autre feuille (sheet2) mais elle copie seulement les colennes A ,B et D

Je vous mets en joint le fichier sur lequel je vroudrai travailler

merciii enormement

12book1.xlsx (8.57 Ko)

Bonjour,

Que veut dire déplacer la ligne mais copie seulement ?

Cdlt.

dsl je me suis mal exprimée,la macro doit deplacer les lignesde la premiere feuille mais elle ne met dans le 2eme feuille que les colonnes A ,B et D

j espere que c clair mnt

Re,

Une proposition à tester.

ALT F8, puis exécuter la procédure.

A te relire.

Cdlt.

17book1.xlsm (18.63 Ko)
Option Explicit

Public Sub DEMO()
Dim wb As Workbook
Dim wsData As Worksheet, wsResult As Worksheet
Dim tblData As ListObject, tblResult As ListObject
Dim rCell As Range
Dim I As Long

    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook
    Set wsData = wb.Worksheets("Sheet1")
    Set tblData = wsData.ListObjects(1)
    Set wsResult = wb.Worksheets("Sheet2")
    Set tblResult = wsResult.ListObjects(1)

    With tblResult
        If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        Set rCell = .InsertRowRange.Cells(1)
    End With

    With tblData
        For I = 1 To .ListRows.Count
            Select Case True
                Case .DataBodyRange.Cells(I, 5).Value = "oui" And .DataBodyRange.Cells(I, 6) = Date
                    rCell.Value = .DataBodyRange.Cells(I, 2).Value
                    rCell.Offset(0, 1).Value = .DataBodyRange.Cells(I, 1).Value
                    rCell.Offset(0, 2).Value = .DataBodyRange.Cells(I, 4).Value
                    Set rCell = tblResult.HeaderRowRange.Cells(1).Offset(tblResult.ListRows.Count + 1)
                    .ListRows(I).Delete
            End Select
        Next I
    End With

    Set rCell = Nothing
    Set tblResult = Nothing: Set tblData = Nothing
    Set wsResult = Nothing: Set wsData = Nothing
    Set wb = Nothing

End Sub

ca ne fonctionne pas :/

les lignes ne se déplacent pas

Re,

1 - Que fait la procédure ?

2 - Que veux tu réellement ?

Cdlt.

La procedure affiche les contrats qui vont expirer

ce que je veux c est verifier deux conditions : une colonne remplie par oui et une autre colonne remplie par une date correspondante a la date du jour ou on effectue la macro

si ced conditions sont verifiees alors la ligne est deplacee a une autre feuille

Re,

Et bien, c'est exactement ce que fait la procédure.

Cdlt.

Rechercher des sujets similaires à "copier coller lignes"