Erreur 1004 sur Programme de copie de lignes

Bonjour à tous,

J'ai une erreur sur le code ci-dessous. Le programme me permet de copier les lignes d'une feuille 1 qui n'existent pas dans une feuille 2.

Sub test()

Dim Lot As Range
Dim LotSearch As Range
Dim NumLigne As Integer
Dim i As Integer
Dim g As Integer

Application.ScreenUpdating = False

With Sheets("Export_MOVEX")
  NumLigne = .Range("A" & .Rows.Count).End(xlUp).Row + 1 'Première cellule vide
End With

With Worksheets("Export_Movex")
    For i = 8 To NumLigne
        Set Lot = Sheets("Export_Movex").Cells(i, 9)
        Set LotSearch = Worksheets("SUIVI_PRELEVEMENT").Range("N:N").Find(what:=Lot, LookIn:=xlValues, lookat:=xlWhole)
        If LotSearch Is Nothing Then
            Sheets("Export_Movex").Columns("A:O").Rows(i).Copy
            g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1
            Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        End If
    Next i
End With
Application.ScreenUpdating = True
End Sub

J'obtiens une erreur "Erreur d'exécution 1004 : La méthode Select de la classe Range à échoué" sur la ligne Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).Select. Des idées sur la raison du problème ?

Je vous remercie d'avance pour votre aide

Bonjour vasille, bonjour le forum

Quand on utilise Cells, on écrit Cells(la ligne, la colonne).

Sheets("SUIVI_PRELEVEMENT").Cells(6, "G").Select si on utilise la lettre de la colonne.

ou

Sheets("SUIVI_PRELEVEMENT").Cells(6, 7).Select si on utilise le numéro de la colonne.

Joseph

retraite8 a écrit :

Bonjour vasille, bonjour le forum

Quand on utilise Cells, on écrit Cells(la ligne, la colonne).

Sheets("SUIVI_PRELEVEMENT").Cells(6, "G").Select si on utilise la lettre de la colonne.

ou

Sheets("SUIVI_PRELEVEMENT").Cells(6, 7).Select si on utilise le numéro de la colonne.

Joseph

Bonjour Joseph et je te remercie pour ta réponse. Cependant, le g que j'utilise ici est en fait une variable au même titre que i, je souhaite donc sélectionner la cellule qui est à ( g , 6 ) où est g est définit lors de la ligne précédente à l'aide du code

g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1

EDIT : J'en profite pour rajouter qu'après quelques recherches, il semblerait que ce soit parceque j'essaie de copier des données d'un tableau pouvant comporter des filtres vers un tableau pouvant en comporter aussi. Des idées ?

Bonjour vasille, bonjour le forum

Ouupppssss! Je vais nettoyer mes lunettes.

Pour sélectionner une cellule, il faut sélectionner la feuille avant.

g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1
Sheets("SUIVI_PRELEVEMENT").select
Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).Select

Mais teste donc sans sélectionner la cellule comme ceci

g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1
Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False

Désolé pour le manque d'attention.

Joseph

retraite8 a écrit :

Bonjour vasille, bonjour le forum

Ouupppssss! Je vais nettoyer mes lunettes.

Pour sélectionner une cellule, il faut sélectionner la feuille avant.

g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1
Sheets("SUIVI_PRELEVEMENT").select
Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).Select

Mais teste donc sans sélectionner la cellule comme ceci

g = Sheets("Suivi_Prelevement").Cells(6800, 6).End(xlUp).Row + 1
Sheets("SUIVI_PRELEVEMENT").Cells(g, 6).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False

Désolé pour le manque d'attention.

Joseph

Rebonjour Joseph,

Effectivement.. J'ai oublié de select la feuille avant de select la cellule, belle erreur de ma part. Cela fonctionne parfaitement, je te remercie pour ton aide !

Rechercher des sujets similaires à "erreur 1004 programme copie lignes"