Macro suppression de ligne contenant une chaine de caractère

Résolu/Fermé
cestpasfaux Messages postés 9 Date d'inscription mercredi 15 juin 2016 Statut Membre Dernière intervention 12 mai 2022 - 6 avril 2022 à 14:46
cestpasfaux Messages postés 9 Date d'inscription mercredi 15 juin 2016 Statut Membre Dernière intervention 12 mai 2022 - 10 mai 2022 à 16:05
Bonjour à tous,

J'ai un morceau de code permettant de supprimer une ligne contenant un certain mot (voir ci-dessous), mais j'aimerais l'adapter... J'aimerais supprimer en effet les lignes dont la chaine de caractères de telle cellule commence par "BOM" (ce sont des références types BOM_xxxx).
Pouvez-vous m'aider svp ?

Sub Suppimer_ligne()
Dim Plage As Range
Dim Colonne As Integer
Dim Mot As String
Dim NomFeuille As String
NomFeuille = "Feuille"
Mot = "toto"
Colonne = 3

With ThisWorkbook.Worksheets(NomFeuille)
' plage des données
Set Plage = .Cells(2, 1).Resize(.UsedRange.Rows.Count - 1, .UsedRange.Columns.Count)

With .Range("A1")
' retrait des filtres s'il y en a
.AutoFilter
' application du filtre
.AutoFilter Colonne, Mot
On Error Resume Next
' tentative de suppression des résultats
Plage.SpecialCells(xlCellTypeVisible).EntireRow.Delete
' s'il n'y avait pas de résultat : on l'indique
If Err <> 0 Then MsgBox "Pas de résultat"
On Error GoTo 0
' suppression des filtres
.AutoFilter
End With
End With
End Sub


En résumé :
A l'heure actuelle cette macro supprime les lignes comprenant le mot "toto" dans la colonne 3.
Je souhaiterais qu'elle supprime les lignes comprenant les mots commençant par "BOM" dans la colonne 3.
A voir également:

3 réponses

yg_be Messages postés 23286 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 octobre 2024 Ambassadeur 1 548
6 avril 2022 à 15:35
bonjour,
je suggère de plutôt parcourir les lignes, en commençant par le bas, et de supprimer les lignes en fonction de leur contenu.
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 6 avril 2022 à 16:42
Bonjour,

et pour compléter en trouvant les 3 premiers caractères d'une chaine:

https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-B

0
cestpasfaux Messages postés 9 Date d'inscription mercredi 15 juin 2016 Statut Membre Dernière intervention 12 mai 2022
10 mai 2022 à 16:05
Bonjour à tous les deux,
Je suis désolé je n'avais pas vu vos messages n'ayant pas activé les notifications... J'ai depuis résolu mon problème. Merci de votre aide et encore désolé de vous avoir laissé sans réponse !
0