Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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
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?
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
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
- 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