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. Merci pour vos réponses à tout les deux ! Je vais tester ça et je vous tiens au courant.

    Bonne après midi
    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. 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. Merci de ta réponse! Mais je pense pas que ce soit adapter tu le mettrais ou dans le code?
          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...