Supprimer des lignes ?

  • Initiateur de la discussion Initiateur de la discussion DJ FA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : Supprimer des lignes ?

Bonsoir DJ FA,

Cette macro est très rapide car elle utilise des tableaux :

Code:
Sub SupprimerLignes()
Dim plage As Range, t, ncol%, rest(), i&, n&, j%
Set plage = ActiveSheet.UsedRange
If plage.Count = 1 Then Exit Sub 'sécurité
t = plage 'matrice, plus rapide
ncol = UBound(t, 2)
ReDim rest(1 To UBound(t), 1 To ncol)
For i = 1 To UBound(t)
 If InStr(LCase(t(i, 1)), "paris") + InStr(LCase(t(i, 1)), "vincennes") = 0 Then
   n = n + 1
   For j = 1 To ncol
     rest(n, j) = t(i, j)
   Next
 End If
Next
plage = rest
End Sub
Edit : bien sûr c'est fait pour des bases de données importantes.

A+
 
Dernière édition:
Re : Supprimer des lignes ?

Bonjour DJ FA, Gareth, le forum,

Avec les tableaux :

Code:
Option Explicit
Option Base 1 'la numérotation des tableaux commence à 1
Option Compare Text 'la casse est ignorée 'facultatif

Sub SupprimerLignes()
Dim a, ub%, plage As Range, t, ncol%, rest(), i&, j%, n&
a = Array("paris", "vincennes")
ub = UBound(a)
Set plage = ActiveSheet.UsedRange
If plage.Count = 1 Then Exit Sub 'sécurité
t = plage 'matrice, plus rapide
ncol = UBound(t, 2)
ReDim rest(UBound(t), ncol)
For i = 1 To UBound(t)
  For j = 1 To ub
    If InStr(t(i, 1), a(j)) Then GoTo 1
  Next
  n = n + 1
  For j = 1 To ncol
    rest(n, j) = t(i, j)
  Next
1 Next
plage = rest
End Sub
Option Compare Text fait gagner un peu de temps.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
113
Réponses
6
Affichages
329
Réponses
5
Affichages
698
Réponses
2
Affichages
102
Retour