Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer les lignes filtrées

6 réponses
Avatar
CAIRIS
Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine

6 réponses

Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 18 sep, 10:30, CAIRIS wrote:
Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en V BA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine


Avatar
CAIRIS
Merci pour le document très bien présenté...mais malheureusement, je continue
a commettre une erreur ; j'ai adapté le code comme suit :

Sub CairisCaMoisparMois()
Rows("1:1").Select
Selection.AutoFilter Field:=3, Criteria1:="-----------"
Range("_FilterDataBase").Offset(1, 0).Resize(Range("_FilterDataBase"). _
Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp
ActiveSheet.ShowAllData
End Sub

Cela plante toujours à la ligne "Range..."
Est-ce que tu as une idée ?
Merci de ton aide
--
Catherine


"JB" wrote:

Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#SommeZoneFiltree

JB
http://boisgontierjacques.free.fr


On 18 sep, 10:30, CAIRIS wrote:
Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine







Avatar
Ellimac
Bonjour,

Cela fonctionne parfaitement chez moi. Quel message est renvoyé ?

Camille

"CAIRIS" wrote:

Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine


Avatar
CAIRIS
Merci d'avoir tester ; le message est "la méthode Autofilter de la classe
Range a échoué".


--
Catherine


"Ellimac" wrote:

Bonjour,

Cela fonctionne parfaitement chez moi. Quel message est renvoyé ?

Camille

"CAIRIS" wrote:

Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine




Avatar
CAIRIS
En envoyant le post précédent, je me suis rendue compte que mon filtre était
erroné (il ne s'appliquait pas à la bonne colonne) ; après correction, je
relance la macro et le massage d'erreur est : "la méthode Range de l'objet
"_global" a échoué"
--
Catherine


"Ellimac" wrote:

Bonjour,

Cela fonctionne parfaitement chez moi. Quel message est renvoyé ?

Camille

"CAIRIS" wrote:

Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine




Avatar
mabouille
Bonjour,
Essaie ce code, un peu bourin (je ne suis pas expert) mais qui marche:
'-----------------
Sub Elimine_lignes_triées()
'La feuille Base contient au départ toutes les données, à la fin
uniquement les lignes triées. C'est je crois ta feuille CA.
'La feuille Tri est une feuille "de service", à rajouter (vide) au
fichier avant de lancer la macro.

'Pose et utilise le filtre dans Base
Sheets("Base").Select
Range("A1").Select
Selection.CurrentRegion.Select 'sélectionne toute la plage de données de
Base
Selection.AutoFilter Field:=x, Criteria1:="yyyy" 'ici il faut saisir le
critère de ton choix à la place des y, et le numéro de la colonne trieuse à
la place du x
'par exemple : Selection.AutoFilter Field:=7, Criteria1:="----------"
dans ton exemple
'attention, la 1ère ligne de Base n'est pas triée, elle est supposée
contenir les intitulés des colonnes

'On copie le résultat dans la feuille de service
'La feuille tri ne contiendra alors que les lignes sélectionnées
Selection.Copy
Sheets("Tri").Select
Cells.Select 'ça copie toutes les cases de Base, au cas où il y ait des
choses oubliées dans Tri
ActiveSheet.Paste
Application.CutCopyMode = False

'On vide Base entièrement pour pouvoir y mettre les données triées
Sheets("Base").Select
Cells.Select
Selection.ClearContents
Selection.ClearContents 'il faut deux fois Clear Contents, une pour les
données filtrées l'autre pour les données à éliminer

'On va chercher nos données épurées dans tri,
Sheets("Tri").Select
Cells.Select
Selection.Copy

'On les copie dans Base qui a été vidée
Sheets("Base").Select
ActiveSheet.Paste
Range("A1").Select 'pour faire beau

''On nettoie Tri complètement, pour alléger le fichier
Sheets("Tri").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select

'on revient à Base, toute neuve!
Sheets("Base").Select
End Sub

Tiens moi au courant
Mabouille


Bonjour et merci d'avance pour votre aide

J'essaie de supprimer par macro (Excel 2003) les lignes filtrées dans un
fichier (nom du ficheir CA.xls, nom de l'onglet CA.xls).

J'ai essayé d'adapter du code trouver sur le forum mais mon niveau en VBA
est insuffisant.

Ci après le code :
Rows("1:1").Select
Selection.AutoFilter Field:=7, Criteria1:="------------"
Range("2:5000").SpecialCells(xlCellTypeVisible).Delete

Cela plante sur la dernière ligne.
--
Catherine