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 des lignes selon critères [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable amélioration continue
    Inscrit en
    Septembre 2019
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 37
    Par défaut Supression des lignes selon critères
    Bonjour,

    Débutant sur VBA, je souhaiterai supprimer des lignes selon plusieurs critères pour les cellules colonne L :

    - Valeur cellule colonne L > 0 = Supprimer la ligne
    - Valeur cellule colonne L est vide = Supprimer la ligne

    Je souhaiterai que le vba traite l'ensemble des lignes qui est variable pouvant aller jusqu'à 2000-2500.

    Cordialement.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Bonjour,

    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
    16
    17
    18
    19
    20
    21
    22
    Sub Test()
     
    dim i as long, Ligne as long
    dim WsTest as worksheet
     
    set wstest=workbooks("TEST").worksheets("TEST")
     
    'On cherche le numéro de la dernière ligne non vide dans la colonne A
    ligne=wstest.cells(rows.count,1).end(xlup).row
     
    'Boucle sur chaque ligne du tableau
    for i = 1 to ligne
     
    if wstest.cells(i,12)="" or wstest.cells(i,12)>0 then
     
    wstest.rows(i).delete 'Suppression de la ligne si l'une des conditions ci-dessus est remplie
     
    end if
     
    next i
     
    end sub

  3. #3
    Membre averti
    Homme Profil pro
    Responsable amélioration continue
    Inscrit en
    Septembre 2019
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 37
    Par défaut
    Bonjour,

    Je tenais tout d'abord à vous remercier pour votre réponse rapide. Cependant, je n'arrive pas à aller au bout de ce code qui entre en "débogage" à la ligne 6 ci-dessous :
    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
    16
    17
    18
    19
    20
    Sub Test()
     
    Dim i As Long, Ligne As Long
    Dim WsTest As Worksheet
     
    Set WsTest = Workbooks("TEST").Worksheets("TEST")
     
    Ligne = WsTest.Cells(Rows.Count, 1).End(xlUp).Row
     
    For i = 1 To Ligne
     
        If WsTest.Cells(i, 12) = "" Or WsTest.Cells(i, 12) > 0 Then
     
            WsTest.Rows(i).Delete
     
        End If
     
    Next i
     
    End Sub

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Je ne l'ai pas précisé mais il faut changer les noms "TEST" par le nom du classeur et de la feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    workbooks("TEST").worksheets("TEST")
     
    'devient
     
    workbooks("LeNomDuClasseur").worksheets("LeNomDeLaFeuille")

  5. #5
    Membre averti
    Homme Profil pro
    Responsable amélioration continue
    Inscrit en
    Septembre 2019
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable amélioration continue
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2019
    Messages : 37
    Par défaut
    Le code est presque terminé, cependant il reste une erreur dans la ligne 12 ci-dessous.
    De plus, je tenais à vous remercier pour l'aide accordé.

    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
    16
    17
    18
    19
    20
    21
    Sub Test()
     
    Dim i As Long, Ligne As Long
    Dim WsTest As Worksheet
     
    Set WsTest = Workbooks("Copie stock v2").Worksheets("TEST")
     
    Ligne = WsTest.Cells(Rows.Count, 1).End(xlUp).Row
     
    For i = 1 To Ligne
     
        If WsTest.Cells(i, 12) = "" Or WsTest.Cells(i, 12) > 0 Then
            WsTest.Rows(i).Delete
     
        End If
     
    Next i
     
    Cordialement.
     
    End Sub

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 254
    Par défaut
    Quelle est cette erreur ?

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

Discussions similaires

  1. [XL-2016] Trier des lignes selon critére et retranscrire en colonne
    Par grisounours dans le forum Excel
    Réponses: 2
    Dernier message: 14/12/2017, 08h26
  2. Récupérer des lignes selon critères
    Par Lebas dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/10/2017, 10h59
  3. [Toutes versions] Macro pour sélectionner des lignes selon un critère
    Par logoyvelines dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/09/2011, 10h20
  4. [XL-2003] supprimer des lignes selon critères
    Par collinchris dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/01/2010, 13h51
  5. [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

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