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 :

Supression lignes selon valeurs [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Par défaut Supression lignes selon valeurs
    Bonjour,
    J'ai un fichier de 70 000 lignes environ de la colonne A à la colonne AG, mais, avant d'appliquer vos méthodes, j'ai copié 20 ligne et 5 colonnes dans un nouveau fichier...
    Donc voici :
    en Colonne B j'ai une valeur VRAI ou FAUX
    Si la valeur est = VRAI alors je souhaite supprimer TOUTE ligne
    si la valeur est = FAUX, je la conserve.
    et ce sur l'ensemble de mon tableau...
    J'ai bien essayer quelques astuces VBA, mais rien à faire j'y arrive pas, je suis sous Office 2013
    Merci d'avance de votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Troutchu,

    Voici un petit code rapide.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
     
    Sub suppr_ligne()
    Dim oCell
     
    With Worksheets("Feuil2")
        For Each oCell In Range(.Range("B1"), .Range("B1").End(xlDown))
            If oCell Then
                oCell.EntireRow.Delete
            End If
        Next oCell
    End With
     
    End Sub
    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy

  3. #3
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut Inspecter le document
    Une autre solution très sympas et sans VB peut se faire via l'inspection de document :

    • Tu commences par filtrer sur uniquement les lignes que tu veux garder.
    • Fichier -> Vérifier la présence de problèmes -> Inspecter le document
    • Cocher juste la case Lignes et colonnes cachées (pour gain de temps) -> Inspecter
    • Un message va indiquer le nombre de lignes masquées et tu peux ensuite choisir de les supprimer


    Le tour est joué

    Ce n'est pas automatique mais la manip est très rapide.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour,

    pour un traitement rapide (manuellement comme par code) :

    • trier les lignes sur la colonne B
    • filtrer la colonne B sur VRAI
    • supprimer les lignes filtrées …

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Par défaut
    Citation Envoyé par Marc-L Voir le message


    Bonjour,

    pour un traitement rapide (manuellement comme par code) :

    • trier les lignes sur la colonne B
    • filtrer la colonne B sur VRAI
    • supprimer les lignes filtrées …

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

    Merci, déjà essayé, mais sur 70000 lignes dont 35000 envion remplissent la condition la selection manuelle est compliquée ensuite la machine rame et excel ne répond plus...

  6. #6
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Tes Faux et Vrai sont-ils calculés ? Dépendent-ils d'autres lignes ?

    Si oui, tu ne peux pas supprimer sans avoir de #REF.
    Tu dois d'abord enlever les formules (Copier / Coller valeur sur ta colonne B)

    Ensuite tu utilises l'inspecteur de Document

  7. #7
    Membre averti
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Par défaut
    Citation Envoyé par antonysansh Voir le message
    Une autre solution très sympas et sans VB peut se faire via l'inspection de document :

    • Tu commences par filtrer sur uniquement les lignes que tu veux garder.
    • Fichier -> Vérifier la présence de problèmes -> Inspecter le document
    • Cocher juste la case Lignes et colonnes cachées (pour gain de temps) -> Inspecter
    • Un message va indiquer le nombre de lignes masquées et tu peux ensuite choisir de les supprimer


    Le tour est joué

    Ce n'est pas automatique mais la manip est très rapide.
    C'est parti sur l'ensemble de la selection...le PC Chauffe ca fait déjà 10min...J'attends le résultat et vous tiens informé, merci, la manip est simple en effet

    Citation Envoyé par antonysansh Voir le message
    Tes Faux et Vrai sont-ils calculés ? Dépendent-ils d'autres lignes ?

    Si oui, tu ne peux pas supprimer sans avoir de #REF.
    Tu dois d'abord enlever les formules (Copier / Coller valeur sur ta colonne B)

    Ensuite tu utilises l'inspecteur de Document
    oui c'est calculé mais ensuite je supprimerai cette colonne une fois les lignes supprimées.

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    La sélection est pourtant facile et si la colonne est bien triée, la suppression est rapide,
    en tout cas bien plus qu'une boucle supprimant ligne par ligne !

    Autre voie manuellement comme par code :

    • créer une nouvelle feuille de calculs
    • depuis cette nouvelle feuille, utiliser un filtre avancé copiant les lignes avec le critère FAUX sur la colonne B
    • supprimer la feuille source …


    _____________________________________________________________________________________________________
    La meilleure façon de ne pas avancer est de suivre une idée fixe. (Jacques Prévert)

  9. #9
    Membre averti
    Inscrit en
    Février 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 27
    Par défaut
    Merci

    j'ai modifié pour élargir la selection jusqu'en ligne 20...ca passe pas, je joint le fichier pour que l'échange soit plus simple.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2010] Filtre automatique de lignes selon valeur avec VBA
    Par kit2412 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2013, 01h09
  2. [XL-2010] Filtre automatique de lignes selon valeur avec VBA
    Par kit2412 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2013, 13h54
  3. copier lignes selon valeur d'une colonne
    Par steeeve34 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 13/09/2012, 17h38
  4. Supprimer ligne selon valeur du ComboBox1
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/06/2007, 10h27
  5. Ajout n lignes selon valeur...
    Par nicburger dans le forum Access
    Réponses: 1
    Dernier message: 26/10/2005, 19h49

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