Copier coller ligne dans nouvelle feuille

Bonjour ,

je souhaite récupérer des données dans une feuille et ensuite sélectionner la ou les lignes afin de les coller dans une nouvelle feuille

cela est il possible?

Voila ce que j'ai pour le moment et je n'arrive pas à sélectionner la ligne mais juste la cellule

Sub Macro1()

For Each c In Worksheets("Test").Range("B1:B10")

If c.Value = 1 Then

c.Cut

Active.Worksheet ("Feuil2")

c.Past

End If

Next c

End Sub

Merci de votre aide

bonjour,

essaie ceci

Sub Macro1()

For Each c In Worksheets("Test").Range("B1:B10")
    If c.Value = 1 Then
     lig=lig+1
        c.entirerow.Cut   Worksheet ("Feuil2").cells(lig,1)
    End If
Next c

End Sub

Merci de votre aide[/quote]

Merci de votre réponse

cependant il me dise que la fonction worksheet n'existe pas

savez vous quelle est le probleme?

cindoo a écrit :

Merci de votre réponse

cependant il me dit que la fonction worksheet n'existe pas

savez-vous quel est le problème?

il manque un s

Sub Macro1()

For Each c In Worksheets("Test").Range("B1:B10")
    If c.Value = 1 Then
     lig=lig+1
        c.entirerow.Cut   Worksheets("Feuil2").cells(lig,1)
    End If
Next c

End Sub

Merci de votre aide

j'arrive donc a couper et coller mais cependant il me renvoit juste une ligne et pas toute les lignes ou c=1

je pense qu'il faudrait faire un for pour le c afin de parcourir la colonne

auriez vous une idee?

Sub Macro2()

For Each c In Worksheets("Test").Range("B2:B9")

    If c.Value = 1 Then

     lig = lig + 1
        c.EntireRow.Copy

    Sheets("Zone1 ").Select
    ActiveSheet.Paste
    Sheets("Test").Select

ElseIf c.Value = 2 Then
     lig = lig + 1
        c.EntireRow.Copy

    Sheets("Zone2 ").Select
    ActiveSheet.Paste
    Sheets("Test").Select

    ElseIf c.Value = 3 Then
     lig = lig + 1
        c.EntireRow.Copy

    Sheets("Zone3 ").Select
    ActiveSheet.Paste
    Sheets("Test").Select
    End If
Next c

End Sub

merci

Bonjour

Sub Macro1()

For Each c In Worksheets("Test").Range("B1:B10")
    If c.Value = 1 Then
     lig=lig+1
        c.entirerow.Cut   Worksheets("Feuil2").cells(lig,1)
    End If
Next c

End Sub

le code ci-dessus parcourt une par une les cellules de la plage B1 à B10,

si une cellule contient la valeur 1

il incrémente un compteur de ligne lig

il coupe la ligne dans laquelle la valeur 1 a été trouvée et la colle en feuil2 en ligne dont le numéro est donné par lig.

c'est ce que tu avais demandé dans ton message initial.

Après je vois que tu as modifié ce code, pour copier sur des feuilles différentes en fonction de la valeur trouvée dans la colonne B

voici une proposition de correction.

Sub Macro2()
dim ligneF(3) ' compteur de ligne sur les feuilles zone1 à 3
For Each c In Worksheets("Test").Range("B2:B9")
    select case c.value
    case 1,2,3 'si c.value =1 ou 2 ou 3
        ligneF(c.value)=ligneF(c.value)+1 'incrémente compteur de ligne pour zone 1 2 ou 3
        c.EntireRow.Copy sheets("Zone" & c.value).cells(ligneF(c.value),1) 'copier la  ligne dans la feuille zone 1 2 ou 3
    end select
Next c

End Sub
Rechercher des sujets similaires à "copier coller ligne nouvelle feuille"