Suppression lignes

  • Initiateur de la discussion Aladin
  • Date de début
A

Aladin

Guest
Bonjour le forum

Je recherche une macro qui puisse travaille sur toutes les feuilles du classeur pour supprimer
les lignes dont n' importe quel cellule = X
colonne A à F de 100 lignes environ, Classeur de
7 feuilles
Merci à tous ceux qui pourront m' aider

Aladin
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Ceci fonctionne sur une seule feuille
et je n'arrive pas aà savoir pourquoi

Sub Test()
Set XX = Range('A1:F100')
For Each ws In Worksheets
For Each Cell In XX
If Cell = 'X' Then
Cells.EntireRow.Delete
End If
Next Cell
Next ws
End Sub
 

Staple1600

XLDnaute Barbatruc
La ça devrait mieux marcher
e pour toutes les feuilles

Sub Test2()
For i = 1 To Worksheets.Count
For Each CELLULE In Worksheets(i).Range('A1:F100')
If CELLULE.Value = 'X' Then
CELLULE.EntireRow.Delete
End If
Next CELLULE
Next i
End Sub
 

Dan

XLDnaute Barbatruc
Bonsoir,

Tu n'étais pas loin, il faut que la feuille soit activée.
Code:
Sub Test()
Dim ws As Worksheet
Set Plage = Range('A1:F100')
For Each ws In Worksheets
ws.Activate
For Each Cell In Plage
If Cell = 'X' Then
Cells.EntireRow.Delete
End If
Next Cell
Next ws
End Sub

Bon travail

;)
 

Staple1600

XLDnaute Barbatruc
Ci-joint mon classeur de test

La macro Test2 semble fonctionner non? [file name=testsupplig.zip size=9456]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/testsupplig.zip[/file]
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Peux tu tester cela?

Sub Test3()
For i = 1 To Worksheets.Count
For Each N In Worksheets(i).Range('A1:F10')
If N.Value Like 'X' Then
N.EntireRow.Delete
End If
Next N
Next i
End Sub

Chez moi, il ne reste plus que les lignes avec des
cellules contenant AX
Les lignes contenant X ont été supprimés dans tout le classeur

Ta macro supprime tout

Me trompe-je ??
 

Hervé

XLDnaute Barbatruc
bonsoir tout le monde :)

une autre synthaxe possible :


Sub Bouton1_QuandClic()
Dim plage As Range
Dim ws As Worksheet
Dim i As Integer

For Each ws In Worksheets
       
Set plage = ws.Range('a1:f100')
       
For i = plage.Rows.Count To 1 Step -1
               
If Application.CountIf(plage.Rows(i), 'X') = 1 Then
                        ws.Rows(i).Delete
               
End If
       
Next i
Next ws

End Sub


salut
 

Discussions similaires

Statistiques des forums

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