Copie d'une plage VBA

Résolu
Bonjour à tous,

Besoin d'aide sur le code suivant:

If .Cells(Lig, Col).Value = "ENCLENCHEMENT A DISTANCE" Or .Cells(Lig, Col).Value = "RESERVE" Then 'Valeur de la cellule des lignes à sélectionner
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste Link:=True

End If

Il permet de copier une ligne entière si il trouve valeur dans une colonne définit plus haut dans le code.Je cherche à copier une partie de la ligne donc une plage.

Merci pour vos réponses et bonne journée.

6 réponses

  1. pour copier une plage et pas toute la ligne...
    j'utiliserai les fonctions Resize( nombre de ligne, nombre de colonne)
    il est possible de le combiner avec offset (nombre de ligne, nombre de colonne) dans le cas où l'on ne copie pas la cellule source...
    1. Merci de ta réponse! Mais je pense pas que ce soit adapter tu le mettrais ou dans le code?
      1. je pense que ton code se trouve dans une boucle with
        donc pour l'exemple j'ai supprimé les .Cells

        Sub test()

        Range("A2").Select
        lig = 2
        col = 1

        If Cells(lig, col).Value = "ENCLENCHEMENT A DISTANCE" Or Cells(lig, col).Value = "RESERVE" Then 'Valeur de la cellule des lignes à sélectionner
        Cells(lig, col).Resize(1, 3).Copy ' on copie 3 colonnes
        NumLig = NumLig + 1
        Cells(NumLig, 1).Select
        ActiveSheet.Paste Link:=True

        End If

        End Sub
        1. comme bidouilleur mais a la ligne concerné :

          Range("A" & ligne, "C" & ligne).Copy
          Si tu veux copier de la cellule Aligne à la cellule Cligne !
          1. Merci pour vos réponses à tout les deux ! Je vais tester ça et je vous tiens au courant.

            Bonne après midi