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 ligne si cellule d'une colonne = 0, sur une plage de cellules [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Supprimer ligne si cellule d'une colonne = 0, sur une plage de cellules
    Bonjour,

    Voici mon problème :
    Je désire supprimer les lignes de ma feuille de classeur où sur la colonne B la valeur de la cellule est égale à 0, et cela à partir seulement de la ligne 7.

    J'ai déjà trouvé sur le forum le code suivant qui permet de supprimer les lignes non désirées, mais cela le fait sur la totalité de la feuille, or j'aimerai rajouter la contrainte de ne commencer les suppressions qu'à partir de la ligne 7 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub EffaceLg0()
     
    Dim R As Long
    Application.ScreenUpdating = False
     
    For R = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row To 1 Step -1
        If Range("B" & R) = 0 Then Rows(R).Delete
    Next R
     
    Application.ScreenUpdating = True
    End Sub

    Une âme charitable pourrait-elle m'aider pour modifier ce code afin qu'il réponde à mes attentes ?

    Je précise que je n'y connais quasiment rien en VBA...

    Un grand merci !

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En remplacant cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For R = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row To 1 Step -1
    Par
    Même si tu écris
    Je précise que je n'y connais quasiment rien en VBA...
    Il me semble intéressant de comprendre comment fonctionne une boucle.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci pour cette réponse si rapide,

    Cependant cela ne fonctionne pas...

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne comprends pas, tu nous montres un code qui supprime les lignes de la dernière ligne remplie vers la première en supprimant toutes les lignes dont la cellule B de cette dite ligne contient 0.
    Tu demandes ensuite de modifier ce code pour que la suppression commence à la ligne 7. C'est ce que j'ai modifié.
    Peut-être aurais-je dû comprendre, s'arrête de supprimer à la ligne 7, ce qui est évidemment différent.
    Si c'est cela que tu souhaites, et j'espère cette fois avoir compris, voici le code.
    Modification à faire sur cette même ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For R = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row To 8 Step -1
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup, c'est en effet cette dernière solution qui vient résoudre mon problème !

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

Discussions similaires

  1. [Dojo] Impossible de saisir une 2ième fois sur une colonne dans le composant grid edit
    Par samirsaid dans le forum Bibliothèques & Frameworks
    Réponses: 11
    Dernier message: 14/12/2009, 17h48
  2. Réponses: 1
    Dernier message: 27/07/2009, 16h11
  3. Mettre une condition sur une colonne en splitant une partie ?
    Par wormseric dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/01/2008, 11h57
  4. Réponses: 0
    Dernier message: 19/10/2007, 16h36
  5. [SYBASE ASE] Rajouter une contrainte null sur une colonne
    Par Little_Goldo dans le forum Sybase
    Réponses: 1
    Dernier message: 09/02/2005, 10h48

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