Microsoft 365 Supprimer des lignes à partir d'un mot

Styv17

XLDnaute Nouveau
Bonjour à tous, j'ai besoin d'aide svp.

J'aimerai supprimer toutes les lignes contenant le mot " Rich ". Cependant si dans cette même ligne il y a aussi le mot " Precious Alloy ", il ne faudrait pas la supprimer.

Merci d'avance.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,
Un exemple avec une macro.
VB:
Sub Suppression()
Dim L%, A%, B%
Application.ScreenUpdating = False
DerLig = Range("A65500").End(xlUp).Row
For L = DerLig To 1 Step -1
    A = Application.CountIf(Range(L & ":" & L), "Rich")
    B = Application.CountIf(Range(L & ":" & L), "Precious Alloy")
    If A > 0 And B = 0 Then Rows(L).Delete
Next L
End Sub
 

Pièces jointes

  • exemple (14).xlsm
    18.4 KB · Affichages: 3

linadeau

XLDnaute Nouveau
Bonjour à tous,

J'ai téléchargé le fichier pour supprimer des lignes contenant un mot en particulier.....

Ça a bien fonctionné pour quelques fichiers, mais mon dernier document est figé..... la macro semble avoir fonctionnée, mais je ne peux cliqué sur aucun bouton pour effectuer la sauvegarde de mon document.....

Une idée?..
 

soan

XLDnaute Barbatruc
Inactif
Bonjour linadeau,

Bienvenue sur le site XLD ! :)

Si tu envoies un fichier exemple (sans données confidentielles), je veux bien essayer de t'aider ; précise aussi quelle est la condition pour supprimer une ligne ; par exemple : si ça contient le mot « loup » ; ou : si ça contient le mot « loup » et pas le mot « agneau » ; pour envoyer ton fichier, utilise le bouton « Joindre un fichier » que tu verras sous ton prochain post en cours d'édition.​



tu as écrit ceci : « mais je ne peux cliquer sur aucun bouton pour effectuer la sauvegarde de mon document..... » ; peut-être que ton fichier est avec l'attribut « Lecture seule » ? ou peut-être que tu as utilisé « Ouvrir en lecture seule » ?​

soan
 

patricktoulon

XLDnaute Barbatruc
bonjour
perso une boucle vba pour faire ce que sait déjà faire excel c'est moyen
un simple double filtre et c'est bon
pour reprendre l'exemple du demandeur original
VB:
Sub test()
Dim p As Range
With ActiveSheet.Range("F1:G1").Resize(ActiveSheet.UsedRange.Count)
    .AutoFilter Field:=2, Criteria1:="Rich"
   .AutoFilter Field:=1, Criteria1:="<>*Alloy*"
Set p = .SpecialCells(xlVisible)
.AutoFilter
End With
p.EntireRow.Delete shift:=xlUp
End Sub
;)
 

Discussions similaires

Statistiques des forums

Discussions
312 848
Messages
2 092 787
Membres
105 534
dernier inscrit
EmilieG60