Tester si la valeur d'une cellule appartient à une liste
Aless75
Messages postés3Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention23 avril 2009
-
23 avril 2009 à 15:06
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
24 avril 2009 à 08:23
Bonjour,
J'ai un petit souci que je n'arrive vraiment pas à résoudre...
Sur une feuille, j'ai un tableau et je souhaite effacer certaines lignes de celui-ci (en fonction de ce qui est inscrit dans la première colonne de chaque ligne). Sur une autre feuille, j'ai une liste.
Je voudrais que ma macro teste pour chaque ligne "si la première colonne contient un nom qui appartient à la liste" et, en cas de réponse positive, effacer la ligne en question. Je ne parviens vraiment pas à écrire le test en VBA.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 avril 2009 à 16:11
Sub test()
Dim i As Long
Dim oRange As Range
For i = 1 To ActiveSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row
Set oRange = ActiveSheet.Cells(i, 1)
If InStr(1, oRange.Value, "u", vbTextCompare) Then
'# Si le mot de la colonne contient un 'u'...
oRange.EntireRow.Delete (xlShiftUp)
i = i - 1
End If
Next i
End Sub
Aless75
Messages postés3Date d'inscriptionmercredi 17 septembre 2008StatutMembreDernière intervention23 avril 2009 23 avril 2009 à 16:25
Merci beaucoup Renfield, mais j'ai un souci supplémentaire, le "u" est en fait un nom contenu dans une liste. Par exemple, si ma liste est constituée de "New York, Paris, Madrid, Berlin", et que mon tableau comporte dans la première colonne des noms de villes, je voudrais que ma macro efface les lignes du tableau contenant dans leur premiere case New York, Paris, Madrid ou Berlin...