Copier des données d'une feuille vers une autre

Bonjour

Je dois copier des donnees d'une feuille vers une autre avec une condition . ma premiere feuille contienne 10 rangees et un nombre de lignes non définie et j'ai une liste déroulante dans la 4 éme rangée qui contienne 3 options ( complete /in process /cancel) je dois copier toutes les lignes qui ont ''complete'' dans la liste déroulante j'ai essayce ce code ci dessous j'ai eu une boucle infinie

Sub copier()
    Dim ws1 As Worksheet, ws2 As Worksheet, src As Range, dest As Range, i As Integer
    Set ws1 = Worksheets("Workload - Charge de travail")
    Set ws2 = Worksheets("Sheet1")

    For i = 2 To ws1.UsedRange.Rows.Count
        Set src = ws1.Range("A" & i & ":AG" & i)
        Set dest = ws2.Range("A" & i & ":AG" & i)

     If Source.Cells(1, 4).Value = "complete" Then

       src.Copy Destination:=dest
       dest.Value = dest.Value
    Next i
End If

End Sub

Merci pour votre aide

Bonjour

Tu devrais joindre ton fichier car ton code est manifestement à revoir...

Bye !

Bonsoir,

Effectivement, ça ne peut pas marcher. Voilà ce qu'on peut rectifier (en conservant tes variables), sous réserve de ton fichier... mais cela te permet déjà de voir les erreurs de syntaxe.

Sub copier()
    Dim ws1 As Worksheet, ws2 As Worksheet, src As Range, dest As Range, i As Integer, j As Integer
    Set ws1 = Worksheets("Workload - Charge de travail")
    Set ws2 = Worksheets("Sheet1")
    j = 1
    With ws1
        For i = 2 To .UsedRange.Rows.Count
            If .Cells(i, 4).Value = "complete" Then
                Set src = .Range("A" & i & ":AG" & i)
                 j = j + 1
                Set dest = ws2.Range("A" & j & ":AG" & j)
                dest.Value = src.Value
            End If
        Next i
    End With
End Sub

Cordialement

Rechercher des sujets similaires à "copier donnees feuille"