Probleme de Range erreur 1004 !!! VB Excel

Résolu
kamoul -  
 kamoul -
Bonjour,
J'ai un code qui bloque, maisje ne sais pas pourquoi
C'est juste une recopie d'une plage vers une autre



'Déclaration des variable
Destination = 2
FinBas = Worksheets("Parts").Range("A65536").End(xlUp).Row

'Recopiage des résultats dans la feuille de résultats
For i = 1 To FinBas
If Worksheets("Parts").Range(Cells(i, FinDroite + 2), Cells(i, FinDroite + 2)).Value = "Doublon" Then
Worksheets("ResultatTri").Range(Cells(Destination, 1), Cells(Destination, FinDroite)) = Worksheets("Parts").Range(Cells(i, 1), Cells(i, FinDroite))
If Worksheets("Parts").Range("AH" & i).Value = Worksheets("Parts").Range("AH" & i + 1).Value Then
Destination = Destination + 1
Else
Destination = Destination + 2
End If
End If

Next i


Je comprend pas parce que la propriété range fonctionne avec des lettres dedans
Je remercie par avance quiconque m'aide

Cordialement Kamoul

5 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    ton souci vient de la feuille active: comme tu en utilises 2...

    maquette "vite fait":
    Sub nnnn()
    Destination = 2
    Findroite = 4
    i = 1
    With Sheets(1)
         tablo = .Range(.Cells(Destination, 1), .Cells(Destination, Findroite)).Value
    End With
    With Sheets(2)
        .Range(.Cells(i, 1), .Cells(i, Findroite)) = tablo
    End With
    End Sub


    comme tu boucles sur n lignes

    écris cette ligne en début de macro
    Application.ScreenUpdating = False

    qui fige le défilement de l'écran et te fait gagner un temps

    Enfin, les select-selection, copy-paste sont à éviter au maximum dans une procédure: ocupation mémoire, temps de procédure très longue
    2