Sélection seulement plage contenant cellule en question; pas toute la ligne

Bonjour tout le monde

Je m'adresse à vous pour m'aider à résoudre un problème de copier une plage de cellules de même rangée (et pas la copie

de toute la ligne qui emporte

tout ce qui se trouve à droite du tableau avec) selon critère des cellules de la colonne "N" qui contiennent le mot "Apte" ; ceci depuis la feuille "Base" vers la feuille "ArchivBase". les feuilles ont les mêmes formes.

Sub kopier()
 ''' Depuis feuille"Base" vers Feuille "ArchivBase";copier seulement les cellules de même ligne
 ''' à partir de la colonne A jusqu'à la cellule qui contient "Apte"(colonne N)
 ''' mais pas toute la ligne "Entirerow"

Dim i As Integer
i = Cells(Rows.Count, 1).End(xlUp).Row + 1
With Sheets("Base")
          For Each C In .Range("N5:N" & .Range("N" & Rows.Count).End(xlUp).Row)
             If C = "Apte" Then
                C.EntireRow.Copy

             'selection de la la cllule colonne A non vide juste après le tableau de reception
             Sheets("ArchivBase").Range("A" & i).Select
             Selection.PasteSpecial Paste:=xlValues

            Application.CutCopyMode = False
           End If
    Next C

End With
End Sub

La macro ci-jointe, tantôt fonctionne et copie une ligne en question mais pas toutes à la fois et tantôt se coince.

Les données dans Base sont fictives.

Merci pour votre aide et bonne journée.

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour , gmb

je te remercie pour ta brève réponse

j'ai testé la macro; elle copie seulement à chaque exécution les 3 même lignes et les met en dessous des autres et ne recopie pas les autres lignes
dont les cellules de la colonne "N" qui contienne le mot "Apte".

Si chez toi ça marche, je ne sais pas d'où provient le problème est ce de mon Excel ou autre chose
si en testant tu trouve le même problème que chez moi je te demande si tu peux remédier , je te remercie pour ton aide.
 Option Explicit
Sub kopier()
  ''' Depuis feuille"Base" vers Feuille "ArchivBase";copier seulement les cellules de même ligne
  ''' à partir de la colonne A jusqu'à la cellule qui contient "Apte"(colonne N)
  ''' mais pas toute la ligne "Entirerow"

    Dim i As Integer
    Dim derLn&, lgn&

    derLn = Sheets("Base").Range("A" & Rows.Count).End(xlUp).Row
    With Sheets("Base")
        For i = 5 To derLn
            If Sheets("Base").Range("N" & i) = "Apte" Then
                lgn = Sheets("ArchivBase").Range("A" & Rows.Count).End(xlUp).Row + 1
                Sheets("Base").Range("A" & i & ":N" & i).Copy
                Sheets("ArchivBase").Range("A" & lgn).PasteSpecial xlPasteAll

                 'selection de la la cllule colonne A non vide juste après le tableau de reception
                 'Sheets("ArchivBase").Range("A" & i).Select
                 'Selection.PasteSpecial Paste:=xlValues
                Application.CutCopyMode = False
            End If
        Next i

    End With
    Sheets("ArchivBase").Activate
End Sub

Bonjour tout le monde. Une proposition de plus. Attention aux espaces blancs autour du mot "Apte", ce n'est pas très solide et ça trompe énormément .

Sub kopier()
    Dim nl1 As Integer, nl2 As Integer
    Dim ws1 As Worksheet, ws2 As Worksheet

    Set ws1 = Sheets("BASE")
    Set ws2 = Sheets("ArchivBase")

    nl1 = ws1.Cells(Columns.Count, 2).End(xlUp).Row

    For i = 5 To nl1
        nl2 = ws2.Cells(Columns.Count, 2).End(xlUp).Row + 1
        If Trim(ws1.Cells(i, 14)) = "Apte" Then
            ws1.Range("A" & i & ":N" & i).Copy
            ws2.Range("A" & nl2).PasteSpecial Paste:=xlPasteValues
        End If
    Next i
End Sub

Bonjour à toutes et tous,

Et une de plus avec POWER QUERY, pour actualiser .

capture

Cdlt

Bonsoir tout le monde

Je remercie les membres: GMB, Optimix et mdo100 qui ont répondu à ce sujet.

Cdlt

Rechercher des sujets similaires à "selection seulement plage contenant question pas toute ligne"