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 plusieurs lignes suivant un test


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut Supprimer plusieurs lignes suivant un test
    Bonjour,

    J'ai une feuille excel avec 7 colonnes et des milliers de lignes, au tant dire que verifier une par une les lignes pour supprimer la ligne précedente si un test est "ok" ce n'est pas faisable.

    les lignes contiennent une adress un numero et un index, (entre autre) je dois supprimer toutes les lignes d'une adresse avec le même numéro si et seulement si elle a une ligne contenant un index vide.

    Exemple:
    Rue de l'enfant 3 N
    Rue de l'enfant 3 1 N
    Rue de l'enfant 3 A000 N
    Rue de l'enfant 3 B000 Y

    je dois supprimer toutes ces lignes.

    par contre si j'ai

    Rue de l'enfant 25 A001
    Rue de l'enfant 25 B002
    Rue de l'enfant 25 C003
    Rue de l'enfant 25 C004
    Rue de l'enfant 25 D005

    je ne dois pas supprimer. au contraire faut que je traite rue de l'enfant apres dans un autre programme. Donc si possible mettre un marqueur ou autre.

    dans le fichier c'est trier par rue (qui est en fait la colonne c) et par numéro et par index (respectivement colonne d et e).

    Est ce que c'est faisable?

    Merci de votre aide.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour

    essaies ces lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fin = Cells(Cells.Rows.Count, 5).End(xlUp).Row
    Range("E1:E" & fin).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

  3. #3
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut
    Cela efface bien les lignes où les index sont null mais cela efface pas les lignes suivant si le numero de la rue est le même

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Merci pour le temps passé à me répondre

  5. #5
    Membre éclairé Avatar de isarian
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    268
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2005
    Messages : 268
    Par défaut
    Je viens de voir un autre message via mail je ne l'ai pas vu désoler

    Par contre je l'essayerais demain pour voir si cela marche.

    En fait la colonne A c'est le code postal
    colonne Ble code rue
    Colonne C la rue
    colonne D le numéro
    Colonne E l'index
    colonne F y/n
    Colonne G c'est une date

    Voilà je ne sais pas si cela peut vous aider plus.

    Merci déjà beaucoup pour l'aide apporter

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Code :
    ---------
    Option Explicit
    Option Base 1
    Const dep As Byte = 2
     
    Sub selectionner()
    Dim plage As Range
    Dim fin As Long, c_in As Long, c_out As Long
    Dim T_in, T_out
    ReDim T_out(3, 1)
     
    'mémorisation du tableau à traiter
    With Sheets(1)
        fin = .Cells(.Cells.Rows.Count, 3).End(xlUp).Row
        Set plage = .Range(.Cells(dep, 3), .Cells(fin, 5))
    End With
    T_in = plage
    'formation du tableau de restitution
    For c_in = 1 To UBound(T_in)
        If Not IsEmpty(T_in(c_in, 3)) Then
            c_out = c_out + 1 'si il existe un index
            ReDim Preserve T_out(3, c_out)
            T_out(1, c_out) = T_in(c_in, 1)
            T_out(2, c_out) = T_in(c_in, 2)
            T_out(3, c_out) = T_in(c_in, 3)
        End If
    Next
     
    Application.ScreenUpdating = False
    With Sheets(2)
        .Cells(dep, 2).Resize(c_out, 3) = Application.Transpose(T_out)
        .Activate
    End With
    End Sub
    ---------

Discussions similaires

  1. [XL-2010] Supprimer plusieurs lignes suivant 2 critères
    Par scotop dans le forum Excel
    Réponses: 2
    Dernier message: 19/12/2013, 16h21
  2. Supprimé plusieurs ligne?
    Par skorpio dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 12/07/2007, 09h33
  3. VBA supprimer plusieur ligne excel
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2006, 20h56
  4. [querydataset] supprimer plusieurs lignes
    Par doudine dans le forum JBuilder
    Réponses: 5
    Dernier message: 21/10/2005, 13h21
  5. Supprimer plusieurs lignes d'un DBGrid via Popupmenu?
    Par BVK dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2004, 11h27

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