Sub Effacer_Gros_Volume()        ' pour un grand nombre de lignes
Dim derlig As Long, dercol, t, i&, Asuppr As String, ColPlus As Boolean, deb#
  
   Feuil2.Range("a:a").Copy Feuil1.Range("h:h")   ' initialisation de la colonne H
   MsgBox "La colonne H a été initialisée. On va entamer la suppression.", vbInformation
  
   deb = Timer                           ' top départ pour mesurer le temps d'exécution
   Application.ScreenUpdating = False          ' plus rapide (écran figé)
   With Worksheets("Transferts")
     .Select                                          ' sélectionne la feuille
     derlig = Cells(Rows.Count, "h").End(xlUp).Row    ' N° de la dernière ligne colonne H
     Columns("i:i").Insert: ColPlus = True            ' on insère une colonne après la colonne H
                                                      ' cette colonne insérée est la colonne i
     dercol = .UsedRange.Column + .UsedRange.Columns.Count   ' N° de la dernière colonne
     t = Range("h10:h" & derlig).Value       ' lecture des valeurs de la colonne H
     For i = 1 To UBound(t)                  ' boucle sur les valeurs de t
       ' si ça commence par "CA" alors on remplace la valeur par "" sinon par i
       If Left(t(i, 1), 2) = "CA" Then t(i, 1) = "" Else t(i, 1) = 1
     Next i
     .Range("i10:i" & derlig) = t  ' on transfère les nouvelles valeurs dans la colonne i
     ' on trie les lignes de la feuille depuis la ligne 10 jusqu'à derlig selon la colonne i
     ' toute les lignes à supprimer se retrouve regropupée en un seul bloc
     .Range("a10:a" & derlig).Resize(, dercol).Sort [i10], xlAscending, Header:=xlNo
     On Error Resume Next   ' au cas où aucune ligne ne serait à supprimer (éviter une erreur d'exécution)
     ' on sélectionne les cellules de la colonne i qui sont vides et on supprime les lignes entières
     .Range("i10:i" & derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
     On Error GoTo 0                            ' on rétablit l'interception des erreurs
     If ColPlus Then Columns("i:i").Delete      ' on supprime la colonne i qu'on avait insérée
   End With
   MsgBox Format(Timer - deb, "0.00\ sec."), vbInformation    ' le temps d'exécution
End Sub