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 :

[VBA Excel] Pb Suppression de lignes non filtrées


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut [VBA Excel] Pb Suppression de lignes non filtrées
    Bonjour, j'essaie de supprimer des lignes sélectionnées par un filtre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With ActiveSheet
            .Range("AO1").AutoFilter Field:=41, Criteria1:="<>1"
            .Range("AO2:A" & .Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete
            .ShowAllData
        End With
    J'obtiens cette erreur sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("AO2:A" & .Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    Run-time error '1004' :

    Microsoft Excel cannot create or use the data range referece
    because it is too complex.
    J'ai essayé de supprimer les lignes une par une dans une boucle for mais c'est vraiment trop long.

    Auriez-vous une autre astuce ?

    Merci beaucoup

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    Mets simplement

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Citation Envoyé par David2304 Voir le message
    Bonjour,

    Mets simplement
    Merci David,
    celle solution me supprime toutes les lignes, y compris les lignes filtrées

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Bizarre chez moi, une fois le filtre selectionné ça supprime seulement les lignes visibles

    J'ai fait le test suivant et toutes les lignes comportant 1 en colonne AO n'ont pas été supprimées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.AutoFilter Field:=41, Criteria1:="<>1"
    Rows("2:65000").Delete

  5. #5
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Citation Envoyé par David2304 Voir le message
    Bizarre chez moi, une fois le filtre selectionné ça supprime seulement les lignes visibles

    J'ai fait le test suivant et toutes les lignes comportant 1 en colonne AO n'ont pas été supprimées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.AutoFilter Field:=41, Criteria1:="<>1"
    Rows("2:65000").Delete
    Moi ça m'efface toutes les lignes de 2 à 65000;
    je regarderai demain au bureau.
    Encore merci

  6. #6
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Ca marche,
    la sélection était trop complexe.

    En fait au lieu de supprimer les lignes à supprimer, j'ai copié les lignes à garder dans un autre classeur, en 4 fois (en une seule fois, le même problème persistait, toutes les lignes étaient copiées et pas seulement celles filtrées).

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code vba pour la suppression des lignes d'un tableau excel
    Par yosra_jemai dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/04/2013, 09h11
  2. [VBA][EXCEL] pb suppression ligne
    Par megapacman dans le forum Access
    Réponses: 2
    Dernier message: 06/04/2006, 13h34
  3. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53
  4. VBA EXCEL - Sélection d'une ligne suivant saisie
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 48
    Dernier message: 15/11/2005, 17h41
  5. [Excel - VBA] Problème de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2005, 17h27

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