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 ligne si cellule NON vide


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 55
    Par défaut Suppression ligne si cellule NON vide
    Bonjour,

    Voilà mon problème :

    Je souhaite supprimer toutes les lignes qui possède quelque chose dans la colonne (BE) de ma feuille.
    Comment faire svp ? (je sais pas si c'est clair mais en gros, si une il y a quelque chose d'écrit dans la colonne BE alors je veux que la ligne se supprime)

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour Arthur,

    Je suppose que tu peux partir sur un :

    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
     
    Private Sub SupprCellVide()
     
    Dim CBR as Range, CellCBR as Range
    Dim derLig as Integer
     
    derLig = Range("BE1:BE" & Rows.Count).End(xlUp).Row
     
    Set CBR = Range("BE1:BE" & derLig)
     
    For Each CellCBR in CBR
       If CellCBR.Value = "" Then
          CellCBR.EntireRow.Delete
       End If
    Next
     
    End Sub
    Cela devrait fonctionner, à moins que j'aie oublié quelques détails ce qui risque d'être probable. Je ne l'ai pas testé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 55
    Par défaut
    J'ai fais ça au final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub SuprLigne()
     
    Dim F As Worksheet
    Dim I As Long
    Dim Dligne As Long
    Set F = Sheets("feuille1")
    Application.ScreenUpdating = False
    Dligne = F.Range("A" & Rows.Count).End(xlUp).Row 
    For I = Dligne To 2 Step -1 
    If Cells(I, "BE") <> "" Then Rows(I).Delete
    Next I
    Application.ScreenUpdating = True
     
    End Sub

  4. #4
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Oui, pardon. J'avais mis = "" au lieu de <> "",

    J'ai pris pour habitude de Set ma plage variable. Je trouve ça plus agréable, sûrement cela peut avoir une utilité au niveau de l'allègement du code je ne sais pas. Mais toujours est-il que je l'utilise énormément dans mon projet actuellement. Cela m'a par ailleurs permis d'outrepasser des erreurs qui m'avaient bloqué jusque-là (pour une raison que j'ignore).

    Heureux que tu aies trouvé ta solution en tout cas ! Bon courage pour la suite de ton code

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 55
    Par défaut
    Je vois ! J'y penserai la prochaine fois que je suis bloqué, ça pourra peut être m'aider !

    Merci pour ton aide en tout cas et à une prochaine !

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonsoir à vous, Bonsoir au Forum,

    (Désolé pour cette absence. Débordé)

    Je suis persuadé que toutes les lignes des cellules concernées pourraient être supprimées sans balayage, ce qui se nomme, sauf erreur, "One Shot" (Je suis plus doué en italien!)
    Et ce en utilisant une bonne argumentation de la méthode quant aux cellules spéciales.

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

Discussions similaires

  1. [XL-2010] Supprimer ligne si cellule non vide
    Par Arthursl dans le forum Excel
    Réponses: 4
    Dernier message: 29/01/2020, 15h16
  2. [XL-2003] Descendre d'une ligne si cellule non vide
    Par JBusnel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/08/2011, 09h04
  3. [Toutes versions] Insérer lignes avec cellules non vides
    Par esstin dans le forum Excel
    Réponses: 4
    Dernier message: 11/08/2010, 18h23
  4. [vba Excel] Obtenir dernier cellule non vide d'une ligne
    Par cow_boy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/05/2007, 10h07
  5. [VBA-E]selectionner la premiere cellule non vide d'une ligne
    Par muse47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2005, 08h11

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