Supprimer lignes si valeurs dans un tableau

J

JCC0127

Guest
Bonjour le forum,

Je débute dans le VBA et je voudrais supprimer des lignes d'une feuille Excel si un mot qui est dans un tableau se trouve dans la colonne A !

J'ai commencé un macro, mais je ne sais pas comment faire chercher dans un tableau.
Merci dfe votre aide

Sub test()

Dim x As Integer

For x = Range('A65536').End(xlUp).Row To 2 Step -1
If Not UCase(Range('A' & x)) Like '*ECHSITE*' Then
Rows(x).Delete
End If
Next

End Sub

JCC
 
J

JCC0127

Guest
Et bien, j'ai une colonne dans une autre feuille (je peux aussi la mettre dans la même feuille si c'est plus simpe)avec des mots qui se trouvent aussi dans mon tableau dans la colonne A.
Ils servent de critères de recherche.

JCC
 
J

JCC0127

Guest
Je viens d'essayer ceci, mais ça vide mon tableau !!

Sub test()

Dim x As Integer

For x = Range('A65536').End(xlUp).Row To 2 Step -1
If Not UCase(Range('A' & x)) Like '*ECHSITE*' Or UCase(Range('A' & x)) Like '*COMMUN*' Then
Rows(x).Delete
End If
Next
End Sub

JCC
 
J

JCC0127

Guest
Heuu... Merci !!
Mais comment utiliser cette commande dans mon cas ?

Sub test()

Dim x As Integer

For x = Range('A65536').End(xlUp).Row To 2 Step -1
If Not UCase(Range('A' & x)) Like '*ECHSITE*' Or UCase(Range('A' & x)) Like '*COMMUN*' Then
Rows(x).Delete
End If
Next
End Sub

Merci.
JCC
 
T

Thilam

Guest
Okay on va changer de méthode,

Est-ce que ça te parles plus:

Sub test()
For Each cell1 In Range('colonne')
For Each cell2 In Range('tableau')
If cell1 = cell2 Then
cell1.EntireRow.Delete
GoTo suite
End If
Next cell2
suite:
Next cell1
End Sub

Où 'colonne' est le nom du champ que tu balayes (A1:A65500 dans ton exemple)
et 'tableau' le nom de champ donné à ton tableau (attention il vaut mieux qu'il soit sur un autre onglet vu que la macro supprime des lignes).

Cdt
Thilam
 
J

JCC0127

Guest
Quelqu'un pourait-il m'aider, SVP ?
Comment utiliser la commande 'WorksheetFunction.Vlookup( arg1,arg2,arg3,arg4)' dans ce cas ?


Sub test()

Dim x As Integer

For x = Range('A65536').End(xlUp).Row To 2 Step -1
If Not UCase(Range('A' & x)) Like '*ECHSITE*' Or UCase(Range('A' & x)) Like '*COMMUN*' Then
Rows(x).Delete
End If
Next
End Sub

Merci d'avance.
JCC
:huh:
 

Discussions similaires

Réponses
6
Affichages
144
Réponses
2
Affichages
156

Statistiques des forums

Discussions
312 338
Messages
2 087 402
Membres
103 536
dernier inscrit
komivi