Selectionner un plage de cellule en VB

Bonjour a tous

je souhaite extraire des lignes d'un onglet pour pourvoir les affichier dans un tableau d'un autre onglet. Mon code marche mais cependant je ne souhaite pas afficher toute la ligne mais seulement de la plage A à N

Je galère a effectuer ma sélection, je suis preneur de toutes infos qui peut m'être transmise

Merci a tous

Sub Recherche()

Dim Lig As Long

Dim Col As String

Dim NbrLig As Long

Dim NumLig As Long

Sheets("base").Activate ' feuille de destination

Col = "A" ' colonne de la donnée non vide à tester

NumLig = 1

With Sheets("Donnees") ' feuille source

NbrLig = .Cells(65536, Col).End(xlUp).Row

For Lig = 1 To NbrLig

If .Cells(Lig, Col).Value = Range("I4") Then

.Cells(Lig, Col).EntireRow.Copy

NumLig = NumLig + 1

Cells(NumLig + 15, 1).Select

ActiveSheet.Paste

End If

Next

End With

End Sub

Bonjour,

Essaie ainsi :

Option Explicit
Sub Recherche()
Dim Lig As Long
Dim Col As Integer
Dim NbrLig As Long
Dim NumLig As Long

    Worksheets("base").Activate ' feuile destination

    Col = 1
    NumLig = 17

    With Worksheets("Donnees")    ' feuille source
        NbrLig = .Cells(Rows.Count, Col).End(xlUp).Row
        For Lig = 1 To NbrLig
            If .Cells(Lig, Col) = Range("I4") Then
                .Cells(Lig, Col).EntireRow.Copy Destination:=Cells(NumLig, 1)
                NumLig = NumLig + 1
            End If
        Next Lig
    End With

End Sub

Bonjour et merci beaucoup de la réponse.

J'extrais les infos de l'onglet Donnees. En fait ce que je souhaite, au lieu de copier toute la ligne c'est ne copier que les plages de A à N lorsque la ligne est selectionné et aller les coller dans mon tableau qui se trouve sur l'onglet base.

Le code fourni marche mais récucpère toujours la ligne entière ou alors je l'ai mal paramétré

Merci bcp

Re,

Cdlt.

Option Explicit
Sub Recherche()
Dim Lig As Long
Dim NbrLig As Long
Dim NumLig As Long

    Worksheets("base").Activate ' feuile destination

    NumLig = 17

    With Worksheets("Donnees")    ' feuille source
        NbrLig = .Cells(Rows.Count, 1).End(xlUp).Row
        For Lig = 1 To NbrLig
            If .Cells(Lig, 1) = Range("I4") Then
                .Range("A" & Lig & ":N" & Lig).Copy Destination:=Cells(NumLig, 1)
                NumLig = NumLig + 1
            End If
        Next Lig
    End With

End Sub

Yeah top ca marche Niquel

Merci beaucoup de ton aide

Rechercher des sujets similaires à "selectionner plage"