Recherche et suppression de lignes en VBA

  • Initiateur de la discussion Initiateur de la discussion loto
  • 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 !

loto

XLDnaute Occasionnel
Bonjour,

Je souhaiterai automatiser la suppression de lignes qui contiennent par exemple "10" en colonne A

Comment écrire de supprimer les lignes conrrespondantes?

Merci de votre aide précieuse
 
Re : Recherche et suppression de lignes en VBA

Bonjour loto, pierrejean

En utilisant le filtre automatique
( ne fonctionne que si les cellules sont égales à 10
pas si elles contiennent 10)
Code:
Su suppr_lignes
With [A1]
    .AutoFilter Field:=1, Criteria1:="10"
    .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub
Pour les cellules =10 ou contenant 10 (avec le filtre élaboré)
Ex
A2: 10
A3:11
A4:aa10
A5 10bb
A6:12

Résultats du filtre : A2;A4;A6 sont supprimées (les lignes)
Code:
Sub suppr_FiltreElabore()
Dim rF As Range
    With ActiveSheet
        .Range("C2").FormulaR1C1 = "=OR(COUNTIF(RC[-2],""10""),COUNTIF(RC[-2],""*10*""))"
        .Range("A1:A" & [A65536].End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("C1:C2"), Unique:=False
        Set rF = .Range("_FilterDataBase")
        rF.Offset(1, 0).Resize(rF.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        .ShowAllData
        .Range("C2").Clear
    End With
End Sub
 
Dernière édition:
Re : Recherche et suppression de lignes en VBA

Je voudrais pas trop utiliser de filtre élaboré.

La macro de PierreJean me semble simple Elle marche mais seulement y'a un bug à la fin de l'éxécution et en débogage j'ai

for n=Range("A65536").End(xlup).row to 1 step -1
if range("A" & n)="10" then rows(n).delete ' 10 au lieu de "10" si chiffre et non texte
next n

qu'est ce que c'est ce bazar?
En fait je crois bien qu'elle tourne en rond et que quand elle voit qu'il n'y a pas la valeur recherchée, elle plante.
Comment on peu contourner cela?

Merci, A+
 
Re : Recherche et suppression de lignes en VBA

Bonjour pierrejean


Je confirme que le code de pierrejean fonctionne parfaitement
sans aucun bug ni bazar 😉


(Le contraire m'eut étonné chez Maître pierrejean
king.gif
)
 
Dernière édition:
Re : Recherche et suppression de lignes en VBA

C'est dingue! Ca bugue avec mon fichier, ça marche avec le tien
Bon, je crois que que j'ai identifié la cause, ça doit prvenir du format:

Sur ton fichier, Si tu mets une en tête de colonne "nom" et "10" dans ta macro ça marche mais si tu mets 10, ç'est fait mon bug
Et le hic, c'est que les données que je veux supprimer sont au format date heure et "10" n'est pas reconnu comme une donnée à supprimer alors que 10est reconnu, supprimé mais génère un bug à la fin

Tu comprends?
 
Re : Recherche et suppression de lignes en VBA

Re

En reprenant le code de pierrejean
Code:
Sub code_pierre_jean_bis()
Dim Rng As Range
For n = Range("A65536").End(xlUp).Row To 2 Step -1
Set Rng = Range("A" & n)
If Hour(Rng) Or Minute(Rng) = 10 Then Rows(n).Delete ' 10 au lieu de "10" si chiffre et non texte
Next n
End Sub
 
Re : Recherche et suppression de lignes en VBA

Re

dans le cas ou cela ne fonctionnerait pas avec le code de Staple

poste un fichier avec quelques lignes

Sinon avec un format heures:

Code:
for n=Range("A65536").End(xlup).row to 1 step -1
  if range("A" & n)=10/24 then rows(n).delete
next n
 
- 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

  • Question Question
Réponses
13
Affichages
437
Réponses
2
Affichages
116
Réponses
6
Affichages
294
  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
380
  • Question Question
Microsoft 365 Fusion de cellules
Réponses
5
Affichages
177
Retour