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 :

Suppression d'une ligne dont les cellules sont vides à partir d'une certaine colonne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut Suppression d'une ligne dont les cellules sont vides à partir d'une certaine colonne
    Bonjour,

    Je cherche à supprimer une ligne d'une feuille d'un classeur si son contenu à partir de la colonne B est vide.

    Peut-on utiliser la méthode find ? Comment ?

    Merci d'avance.
    Julien.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une solution possible :

    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 SuppressionDeLigneAPartirDeLaColonneB()
     
    Dim LigneDebut As Long
    Dim LigneFin As Long
    Dim LigneASupprimer As Long
     
        With ActiveSheet
     
             LigneDebut = 2
             LigneFin = .Cells(.Rows.Count, 1).End(xlUp).Row
     
             If LigneFin = LigneDebut Then Exit Sub
     
             For LigneASupprimer = LigneFin To LigneDebut Step -1
                 If WorksheetFunction.CountA(.Range(.Cells(LigneASupprimer, 1).Offset(0, 1), .Cells(LigneASupprimer, 1).Offset(0, .Columns.Count - 1))) = 0 Then
                    .Rows(LigneASupprimer).Delete Shift:=xlUp
                 End If
             Next LigneASupprimer
     
        End With
     
    End Sub
    Cordialement.

  3. #3
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Une autre proposition :

    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
    Sub Macro2()
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
    Dim LAF As Range 'déclare la variable LAF (Lignes À Effacer)
     
    Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    TC = O.Range("A1").CurrentRegion 'définit le tableau de cellules TC (à adapter à ton cas)
    Set LAF = O.Range("A1") 'initialsie la plage LAF
    For I = 1 To UBound(TC, 1) 'boucle 1 : sur toutes les lignes I du tableau de cellules TC
        For J = 2 To UBound(TC, 2) 'boucle 2 : sur toutes les colonnes J du tableau TC (en partant de la seconde (=> colonne B))
            If TC(I, J) <> "" Then Exit For 'condition L si la cellule n'est pas vide, sort de la boucle 2
            'redéfinit la plage LAF (la ligne I si LAF est égale à A1, sinon l'union de LAF et de la ligne I)
            Set LAF = IIf(LAF.Address = "$A$1", Rows(I), Application.Union(LAF, Rows(I)))
        Next J 'prochaine colonne de la boucle 2
    Next I 'prochaine ligne de la boucle 1
    LAF.Delete 'supprime la plage LAF
    End Sub

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 618
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. [MySQL] Sélection des lignes dont les associations sont dans une certaines liste
    Par collect dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/01/2015, 22h09
  2. Réponses: 4
    Dernier message: 21/12/2013, 16h47
  3. Réponses: 2
    Dernier message: 04/03/2008, 11h32
  4. Suppression d'une ligne dont la cellule est vide
    Par dolphinus27 dans le forum Excel
    Réponses: 5
    Dernier message: 12/09/2007, 11h18
  5. Réponses: 19
    Dernier message: 04/06/2007, 17h12

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