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 :

Conserver plusieurs lignes selon critères


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Par défaut Conserver plusieurs lignes selon critères
    Bonjour à tous,

    Je suis débutant sur VBA, et je pense que la solution est simple.

    En fait, j'ai une feuille de données comme cela :
    CODE|REG|DEP|QTE
    2103|40|35|20
    2104|52|27|36
    2105|68|40|19
    ...

    Avec des dizaines de milliers de lignes.

    Je souhaite ne garder que les lignes dont le code est, par exemple, "2104" et "2119".

    J'ai trouvé le code ci-dessous sur un autre site :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub selection()
     
    Dim i As Integer
    With ThisWorkbook.Sheets("Feuil1")
    'Le nom de la feuille
                For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
    'Colonne A
    'Rows.count permet de retourner le nombre de ligne de la plage range
                        If .Range("A" & i).Value = "2104" Or .Range("A" & i).Value = "2119" Then
                                       .Rows(i).Delete
                        End If
                Next i
    End With
     
    End Sub
    Ce code supprime donc les 2 lignes, grâce à ".Rows(i).Delete".
    Je voulais savoir s'il existait une fonction qui garderait les lignes, au lieu de les supprimer.

    Merci d'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Avec cette modification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If .Range("A" & i).Value <> "2104" And .Range("A" & i).Value <> "2119" Then
    Cordialement.

  3. #3
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut conserver plusieurs lignes
    bonjour,

    tu mets <> à la place de = pour les dux églité.
    en plus, plutôt que de supprimer les lignes restantes il est peut être préférable dans un premier temps de les masquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    Sub selection()
     
    Dim i As Integer
    With ThisWorkbook.Sheets("Feuil1")
    'Le nom de la feuille
                For i = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
    'Colonne A
    'Rows.count permet de retourner le nombre de ligne de la plage range
                        If .Range("A" & i).Value <> "2104" and .Range("A" & i).Value <> "2119" Then
                           .Rows(i).delete     ' or .Rows(i).hidden = true                    
                        End If
                Next i
    End With
    Cordialement,

    edit : nos messages se sont croisés

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Par défaut
    C'est parfait ! C'était tout simple en fait ^^

    Merci beaucoup ! Et merci pour le conseil de masquer les lignes au lieu de les supprimer.

    Cordialement.

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

Discussions similaires

  1. Filtre en conservant plusieurs lignes
    Par Edouard38 dans le forum Excel
    Réponses: 6
    Dernier message: 27/02/2020, 09h34
  2. Grouper lignes selon critères
    Par Yashin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/07/2009, 10h00
  3. Supprimer une ligne selon critère
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 01/04/2009, 15h14
  4. [E-03] Macro Extraire des Lignes selon critère
    Par willybass dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/03/2009, 07h33
  5. [VBA-E] sélection plusieurs lignes selon critères
    Par clairefranclieu dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/09/2006, 17h22

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