Probleme de Range erreur 1004 !!! VB Excel
Résolu
kamoul
-
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
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
Bonjour,
ton souci vient de la feuille active: comme tu en utilises 2...
maquette "vite fait":
comme tu boucles sur n lignes
écris cette ligne en début de macro
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
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