Recherche macro supprimant des lignes ne contenant pas mon texte

Bonjour,

Je suis à la recherche d'une trame de macro me permettant de conserver que mes lignes contenant un texte spécial dans la colonne A, par exemple :

A
VOITURE
PNEU
MONTAGE
ROUES
VOLANT
FREIN
PLAQUETTE

et bien je veux garder que plaquette et frein donc je souhaite supprimer le reste.

J'ai déjà essayer de faire une macro mais le résultat est décevant, j'ai une erreur d'exécution "incompatibilité de type".

Merci d'avance pour votre aide, bonne journée :)

Petite particularité la feuille contient environ 6000 lignes :/

Bonjour à tous!

mirlouche09,

votre demande est assez vague comment sont placés les mots dans les lignes que vous voulez supprimer dans une case, une chaine de caractères etc ?

Un bout de fichier nous aiderait

Bonne journée !

Voici un exemple de tableau, dans l'original le tableau est rempli car c'est une exportation.

J'aimerais un macro me permettant de dire que je veux garder que les lignes contenant ("Texte1", "Texte2", ect) dans la colonne A sinon supr.

Sachant que dans le tableau original il y a environ 6000 lignes et 130 références différentes dans la colonne A, pour ce qui est des références je peux écrire à la main celles que je veux garder étant donné qu'il y en a qu'une vingtaine.

Merci d'avance.

Bonjour !

mirlouche09, oui ça serait préférable d'avoir la liste des mots des lignes que vous voulez GARDER le reste des lignes sera supprimé

Bonne journée !

Bonjour à tous !

Une rapide approche avec la fonction FILTRE :

Avez-vous étudié la piste Power Query puisque visiblement la source est une importation ?

Je suis très novice en Power Query c'est surement le moment de s'y lancer :)

Dans le cas en question, je cherche une macro me permettant d'effacer les lignes ne contenant pas le texte désiré dans la colonne A, étant donné que les textes non désirés venant de l'export sont toujours les même, donc je pensais à une macro qui lorsque j'appuie m'efface automatiquement ces lignes de texte non désiré.

J'avais pensé à cette macro mais le message impossible d'exécution "13" apparaît ou le programme crash (peut être qu'il n'est pas adapté à un tableau de 6000 lignes)

Sub DeleteRows()

Dim i As Long
Dim LastRow As Long
Dim TextArray As Variant

TextArray = Array("Texte1", "Texte2", ect)

LastRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For i = LastRow To 1 Step -1
If Not IsError(Application.Match(ActiveSheet.Cells(i, "A").Value, TextArray, 0)) Then
Else
ActiveSheet.Rows(i).Delete
End If
Next i

End Sub

Si quelqu'un a une idée je suis preneur, merci d'avance :)

Bonjour à tous !

Il semblerait que VBA soit un horizon indépassable.....
Je laisse donc le soin aux spécialistes d’œuvrer.

Bonjour à tous!

mirlouche09, le code que tu nous a fourni comme ceci

Option Compare Text
Sub DeleteRows()
Dim i As Long
Dim LastRow As Long
Dim TextArray As Variant

'CE SONT LES LIGNES AVEC CE TEXTE QUI SERONT SUPPRIMÉES

TextArray = Array("Microsoft", "Linux", "Apple", "Bing")
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For i = LastRow To 2 Step -1
If Not IsError(Application.Match(Cells(i, 1).Value, TextArray, 0)) Then
Rows(i).Delete
End If
Next i
End Sub

Bonne journée!

Bonjour, merci beaucoup votre exemple est efficace, je vais l'adapter avec mes textes !

Vous avez fait un heureux, je vous en remercie !

Bonne soirée.

Bonjour à tous!

mirlouche09, merci pour le retour

Bonne continuation dans votre projet

Bonne journée!

Rechercher des sujets similaires à "recherche macro supprimant lignes contenant pas mon texte"