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 :

Supprimer une ligne si le champ = 0 [XL-2002]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut Supprimer une ligne si le champ = 0
    Bonjour à tous

    J'ai un problème qui semble est assez commun. Je veux supprimer des lignes dans mon classeur excel. Je veux supprimer la ligne si la cellule dans la colonne C est égale à zéro. Cela doit faire tout le fichier car parfois le classeur a 200 lignes, parfois 2000 lignes.
    J'ai un bout de code, mais c'est pour supprimer la ligne si elle est vide. 'mais là , je veux supprimer seulement si la cellule dans la colonne C est égale à zéro.

    Voici mon code de départ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim R As Long
    Application.ScreenUpdating = False
     
    For R = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
        If Application.WorksheetFunction.CountA(Rows(R)) = 0 Then Rows(R).Delete
    Next R
     
    Application.ScreenUpdating = True
    merci

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Peut être peux-tu tester si ta zone est numérique

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour, une toute petite modif et cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim R As Long
    Application.ScreenUpdating = False
     
    For R =Cells(Columns(1).Cells.Count, 1).End(xlUp).Row To 1 Step -1
        If range("C" & R) = 0 Then Rows(R).Delete
    Next R
     
    Application.ScreenUpdating = True
    Perso je n'aime pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.UsedRange.Rows.Count
    il ne tien pas compte des ligne vide (si 3 ligne remplie 3 vide 3 remplie il donne 6)
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
    fonctionne aussi bien sur 2003 que sur 2007

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Merci Krovak t'es un king

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

Discussions similaires

  1. [SQL] Supprimer une ligne en fonction d'un type de champs
    Par Aspic dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 10/07/2007, 16h28
  2. [JTable] Supprimer une ligne d'un jtable
    Par Orionmel dans le forum Composants
    Réponses: 5
    Dernier message: 05/11/2004, 22h29
  3. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03
  4. supprimer une ligne avec cle etrangere
    Par BaBas dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/07/2003, 11h24
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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