Macro pour supprimer lignes ne contenant pas un terme donné

Résolu/Fermé
ClemG - 26 juin 2013 à 18:11
 ClemG - 27 juin 2013 à 09:14
Bonjour à tous !

Etant débutante en macro, je rencontre un petit problème : j'ai une liste de produits de différents goûts sous Excel (exemple: cranberry, cranberry & framboise; orange; pomme).
Si les cellules de la colonne D (dans laquelle se trouvent ces produits) ne contiennent pas les termes "cranberry" ou "pomegranate", alors je veux supprimer les lignes correspondantes.

En d'autres termes, je ne souhaite conserver dans ma page excel que les produits contenant du cranberry ou du pomegranate.

J'ai pour le moment essayé avec cette macro :

Sub super_fruits()
'
For Each cell In Range("D4:D450")
If Not cell.Value Like "Cranberry" Or cell.Value Like "Pomegranate" Then Rows(cell.Row).Delete
Next
Dim I As Integer
For I = 450 To 4 Step -1
If Not Cells(I, 4) Like "Cranberry" Then
Rows(I).Delete
End If
Next

End Sub


Et là je rencontre 2 problèmes : d'une part, ma macro ne me garde que les lignes contenant exclusivement "Cranberry" (en ne tenant pas compte de "Pomegranate"). D'autre part, je ne veux pas garder que les lignes contenant "cranberry" mais aussi celles comme "cranberry & framboise" par exemple, dans lesquelles cranberry est inclus.

J'espère que vous pourrez m'aider !!!! merci d'avance pour tous vos conseils
Clem
A voir également:

2 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 26/06/2013 à 19:55
Bonjour,

A essayer :

Sub super_fruits() 
Dim I As Integer
For I = 450 To 4 Step -1
    If Not (Cells(I, 4).Value Like "*Cranberry*" Or Cells(I, 4).Value Like "*Pomegranate*") Then
        Rows(I).Delete
    End If
Next
End Sub



A+
Cordialement,
1
ça fonctionne....un grand merci !!!!!!!!!

A bientôt!
0