IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

macro robuste pour supprimer lignes apres filtrage


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut macro robuste pour supprimer lignes apres filtrage
    Bonjour,

    J'essaie de créer une macro vba pour effacer les lignes que je vois pares filtrage.
    Toutes mes tentatives echouent car elles effacent la ligne ou il y a le filtre.

    J'ai essaye 2 methodes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Selection.AutoFilter Field:=19, Criteria1:="0,0"
        Range(Selection, Selection.End(xlDown)).EntireRow.Select
        Selection.SpecialCells(xlCellTypeVisible).Delete
        Selection.AutoFilter Field:=19
    ou:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Selection.AutoFilter Field:=19, Criteria1:="0,0"
    Range("a5",[a65536].End(xlUp).Address).SpecialCells(xlCellTypeVisible).EntireRow.Delete

    Dans mon exemple, A5 est la premiere case de la premiere lignes affichées apres filtrage, et donc la premiere ligne a effacer.

    Merci de votre aide car apres plusieurs jours de recherche sur le net, je trouve des bouts d ecode mais il ne marche pas sytematiquement.
    Par exemple, le 2ième code que j'ai mis marche pour un fichier excel mais ne marche pas sur un autre ou la ligne du filtre est effacee sans savoir pourquoi.

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    vois la réponse dans : ce fil 17h57.

    La solution est au niveau de Resize

    cordialement,

    Didier

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut
    Merci Ormonth et désolé de mon retard mais je pensais que je recevrais un mail qd j'aurais une reponse.

    ALors j'ai essayé avec ta remarque mais je suis pas sur d'utiliser correctement la fonction resize, Je debute un VBA.
    J'ai fait le code suivant mais ca m'efface tout ce qu'il y a ds sous la ligne de filtrage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro2()
     
        ActiveSheet.ShowAllData
        Selection.AutoFilter Field:=19, Criteria1:="0,0"
        ActiveWindow.Panes(1).Activate
        Set to_delete = ActiveSheet.AutoFilter.Range 
        to_delete.Offset(1, 0).Resize(to_delete.Rows.Count - 1, to_delete.Columns.Count).EntireRow.Delete
        Selection.AutoFilter Field:=19
    End Sub
    De plus, ce que je comprends pas c'est que le premier code que j'ai decrit, marche sur un autre fichier donc ca a l'air plutot aleatoire mon truc et pourtant ce sont les lignes de codes décrites sur tous les forums.

    Donc, ta solution avec resize doit surement mieux convenir mais je ne dois pas bien l'utiliser.

    Qu'ai-je rate?

    Merci pour ton aide.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut
    activation de la notification par mail

Discussions similaires

  1. [XL-2010] macro pour supprimer lignes qui ne sont pas en gras
    Par lovely2604 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/11/2014, 20h02
  2. macro excel pour supprimer des lignes comportant un caractere spécial
    Par fredo49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/04/2011, 16h32
  3. [XL-2010] Macro VBA pour supprimer des caractère situés après une valeur
    Par Guillaume_PMO dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/03/2011, 17h06
  4. Réponses: 2
    Dernier message: 18/05/2006, 13h38
  5. [C#][Débutant] 4 questions pour supprimer ligne dans datagriview
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/05/2006, 23h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo