Sub facturation()
Dim L As Long 'déclare la variable L
Dim i As Long 'déclare la variable i (si L peut être Long alors i aussi !)
Dim dest As Range 'déclare la variable dest
'définit la variable dest (A1 si A1 est vide ou première ligne vide de la colonne A)
If Sheets('facturation').Range('A1').Value = '' Then
Set dest = Sheets('facturation').Range('A1')
Else
Set dest = Sheets('facturation').Range('AS65536').End(xlUp).Offset(1, 0)
End If
With Sheets('CAP ALTERN EVOL 16-JUIN 2011')
L = .Range('N65536').End(xlUp).Row 'définit la variable L
For i = 2 To L 'boucle sur toutes les cellules de la plage I2:I_L
'Attention ! Si tu recherches une valeur numérique il ne faut pas de guillements
'si la colonne I est formaté comme Texte alors remets les guillemets à 31
If .Cells(i, 9).Value = 31 Then 'condition : si la valeur de la cellule est egale à 31
.Cells(i, 9).EntireRow.Copy Destination:=dest 'copie et colle la ligne entière
Set dest = dest.Offset(1, 0) 'redéfinit la variable dest (une ligne en dessous)
End If 'fin de la condition
Next i 'prochaine cellule de la boucle
End With
End Sub