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 en fonction de deux cellules


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 34
    Points
    34
    Par défaut Suppression ligne en fonction de deux cellules
    Bonjour a tout le monde.

    Depuis ce matin j'essaie de trouver la solution a mon probleme.
    Je suis loin d'être expert en VBA, mais j'arrive un ti peu a comprendre.

    J'ai un tableau de 500 lignes (valeur fluctuante en fonction des jours) avec les colonnes B et C qui sont soit vide soit avec un "1".

    J'aimerais que si les colonnes B a partir de B3 et C a partir de C3 sont vides, la ligne entière soit supprimé.

    J'arrive a le faire si la colonne B est vide, mais pas si les deux le sont.

    Voila mon code :

    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
    23
    24
    Sub Recuperation_information()
     
    ' Cette macro récupére les informations .
     
     
    Application.Workbooks.Open Application.GetOpenFilename() ' Ouverture du fichier excel Resultats
     
     
    Sheets("Résultats bruts").Select ' Copie de la feuille Resultats dans un nouveau classeur
    Sheets("Résultats bruts").Copy ' Collage de la feuille dans le tableau a traiter
     
    ActiveWorkbook.Close False ' Fermeture du fichier Xls  que l'ont viens d'ouvrir
     
    Columns("B:C").Delete  ' Suppression des colonnes inutiles
    Columns("E:AF").Delete
     
    ' Les colonnes D et E sont a présent en B et C
     
    Nb_Lignes = Application.CountA(Range("A:A")) ' On compte le nombre de lignes a vérifier
     
    x = Range("B500").End(xlUp).Row
    Cells.Range("B3:B3" & x).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
     
    End Sub
    J'ai essayé dans tout les sens mais j'ai une erreur.

    Merci de vôtre aide.

  2. #2
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    bonjour,
    l'idéal est de faire une boucle en partant de la dernière ligne non vide du tableau et remonter vers la ligne 3. Ensuite tu mets des conditions en utilisant "IF.....THEN" et en Utilisant l'argument "AND" comme ceci:
    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
    Dim i As Long, fin As Long
    'je travail dans ma feuille qui a pour nom "Feuille test"
    With Sheets("Feuille test")
    'je donne à la variable fin le num de la dernière ligne non vide de la colonne A
    fin = .Range("A" & Rows.Count).End(xlUp).Row
     
    'je boucle de la dernière ligne jusqu'a la ligne 3
    For i = fin To 3 Step -1
     
        'si la cellule B = rien et si la cellule C = rien
        If .Range("B" & i) = "" And .Range("C" & i) = "" Then
     
            'alors j'efface la ligne entière
            .Rows(i).EntireRow.Delete
     
        End If
    Next i
    je n'est pas testé le code mais le principe y est.
    Adapte le nom de la feuille avec la feuille de ton classeur
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Points : 34
    Points
    34
    Par défaut
    THANKSSSSSSSSSSSS Youuuuuuu ca marche

    J'ai un peu réadapté ton code.

    T 'as pas idée comment j'ai galéré toute la journée.

    Avec ça je gagne quasi 3 heures de taf a semaine.

    Thanks

  4. #4
    Membre chevronné Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Points : 2 003
    Points
    2 003
    Par défaut
    Heureux d'avoir pu t'aider
    @+

    Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
    Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
    Ou sur si ce n'est pas le cas

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

Discussions similaires

  1. Suppression d'une ligne en fonction d'une cellule
    Par flo1411 dans le forum Excel
    Réponses: 6
    Dernier message: 26/03/2013, 16h28
  2. VBS - Suppression ligne en fonction d'un texte
    Par arnaudbzh dans le forum VBScript
    Réponses: 1
    Dernier message: 09/07/2009, 13h42
  3. [AC-2000] Suppression ligne avec conditions sur deux tables
    Par Loufink dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 09/07/2009, 11h38
  4. [XL-2003] Nommer feuilles en fonction de deux cellules
    Par Raphael13 dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 11/05/2009, 13h45
  5. [VBA-E]suppression lignes a partir d'une cellule active
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/02/2007, 15h01

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