Bonjour,
Votre code modifié
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub Copier_Coller_Trier()
Dim i As Integer, j As Integer, C As Integer, D As Integer, N As Integer
Application.ScreenUpdating = False
Set f1 = Sheets("Feuil1")
Set f2 = Sheets("Feuil2")
i = 1 'numéro de ligne sur feuille source
j = 1 'numéro de ligne sur feuille destination
C = 5 'numéro de colonne sur feuille source
D = 3 'numéro de colonne sur feuille destination
N = 24 'numéro dernière ligne sur feuille source
For i = 1 To N
If f1.Cells(i, C) > 0 Then
f2.Cells(j, D) = f1.Cells(i, C + 1)
f2.Cells(j, D - 1) = f1.Cells(i, C - 3)
End If
Next N
Set f1 = Nothing
Set f2 = Nothing
End Sub |
Question: La valeur de N sera-t-elle toujours de 24?, sinon recherchez la dernière ligne de la feuille source avec ceci (par rapport à la colonne A dans cet exemple):
N = f1.Range("A" & Rows.Count).End(xlUp).Row
Cdlt
Partager