Copier des lignes

REm -  
via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à faire unprograme qui copirais la ligne d'une feuille excel sur une autres feuille si une case de cette ligne contient une valeurs spécifique, voici mon code que j'ai tenté:

Dim i As Integer
Dim plage As Range

For i = 1 To 100

Set plage = Range("B1:B100")

With Worksheets("SYNTHESE")

If (plage.Cells(2, i).Value = AGIRENT) Then Worksheets("1-5 MESURES ET CONTROLES").Range("A" & i & ":R" & i).Copy .Cells(.Rows.Count, "A").End(xlUp)(2)

End With

Next i

Seulement j'ai l'impression que mon code ne prend pas en compte le IF care il copie toute les ligne de 1 à 100 quelqu'un aurrait-il une idée de la raison du problème ?

Merci à vous,
Très belle journée à vous

Configuration: Windows / Chrome 78.0.3904.70

1 réponse

  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    - ton with n'est pas utilisé puisque tu n'as pas mis de point devant plage
    - le set plage est inutile tu peux le mettre dans le with
    - AGIRENT n'est pas entre guillemets pour être assimilé à du texte

    Essaie :
    With Worksheets("SYNTHESE").Range("B1:B100")

    If .Cells(2, i).Value =" AGIRENT" then ....

    Cdlmnt
    Via
    0