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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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

😉
 
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:
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 ??
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
663
Retour