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 de lignes pour création d'un unique tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut Suppression de lignes pour création d'un unique tableau
    Bonjour,

    Je débute en VBA et me permets de vous solliciter.

    Dans une feuille, j'ai différents tableaux de nombre de lignes et de nombre de colonnes différents qui débutent tous en colonne A.

    Parmi ces différents tableaux certains ont un format redondant et les intitulés positionnés dans la cellule qui les précède peut permettre de les distinguer.

    Le tableau (A) qui m'intéresse est toujours suivi d'un autre tableau (B) et le nombre de lignes des différents tableaux de la feuille, dont A et B, varie.

    Je voudrais dans un premier temps pouvoir supprimer les lignes autres que celles correspondantes auX tableauX A.

    L'objectif final, après retraitement des lignes vides ou lignes d'intitulés répétées et qui viendrait par la suite, serait de recréer un seul et même tableau A.


    J'ai commencé par créer un tableau dans une autres feuille qui répertorie les numéros de lignes pour lesquelles le nom A apparaît (colonne 1) ainsi que les numéros de lignes pour lesquelles le nom B apparaît.

    Je pensais ainsi réussir à créer des "plages" de cellules auxquelles j'aurais appliqué une fonction du type suppression des lignes de ces mêmes plages.

    J'ai tenté des "choses" mais le référencement des plages pour supprimer du premier B au prochain A en boucle (pour un nombre de lignes initiales variables dans l'onglet d'enchaînement des tableaux) me pose problème.


    Une âme charitablement bien ordonnée pourra-t-elle m'expliquer comment faire pour gérer ce que j'apparente à un "pé-ti bow-del" ?

    Merci beaucoup
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    Voici une façon de faire.
    J'ai choisi de copier tous les tableaux A dans une autre feuille afin de ne supprimer aucune données. Cela permettra si besoin de refaire la même procédure avec des tableaux B, C, etc.

    example.xlsm

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut
    Bonjour Mat955

    J espere que vous vous portez parfaitement bien.
    Je suis actuellement en deplacement sans ordinateur qui me permettrait de regarder la solution proposée. Je vous remercie en tout cas tres sincèrement pour le temps passé sur ce sujet et vous reviens dès que je peux semaine prochaine.

    "Peace"

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut
    Bonjour Mat,

    Je vous remercie encore sincèrement pour la solution proposée déjà riche d'enseignements.

    Elle est parfaite pour mon exemple.

    La raison pour laquelle j'avais finalement introduit la notion de ligne d'apparition des tableaux A et B est qu'en fait, certains éléments du tableau peuvent se retrouver splittés sur différentes lignes : j'ai bien les informations qui m'intéressent sur une ligne mais le split évoqué et la présence de cellules vides empêcheraient le bon fonctionnement de la solution proposée.

    Voici un second exemple plus proche de mon problème.

    Comme évoqué précédemment, je pensais dans un premier temps récupérer les tableaux A pour ensuite gérer cette histoire de split (et de cellules dont le contenu devra être refusionné, et de lignes vides..)

    Sur la base de mon tableau "indices" et compte tenu du fait qu'il y a toujours 4 lignes vides entre l'intitulé de la colonne A du tableau et la première ligne renseignée, j'essaie en fait de faire quelque chose comme ceci (pour z différent de 1) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range(ActiveCell.Offset(5, 0), Sheets("indices").Cells(z + 1, 2).Value, Sheets("indices").Cells(z + 2, 1).Value).Rows.Select
     
    next z
    Puis rows.delete ou selection.delete.. ?

    mais.. j'ai l'impression de mélanger bien des choses notamment l'intégration d'une valeur de cellule de mon tableau "indices" pour l'insérer en tant que paramètre dans une boucle de détermination de Range dont les contenus seraient à supprimer (ceci plutôt que de supprimer les lignes "up" en devant redéterminer les nouveaux indices de lignes en fonctions du nombre de ligne supprimées à l'étape précédente comme j'avais commencé à y réfléchir via la colonne D)

    Encore un grand merci pour votre aide
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2003] Suppression de ligne(s) sous condition dans un tableau
    Par jorisfavre dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2013, 16h51
  2. Réponses: 2
    Dernier message: 17/09/2012, 14h57
  3. Association de couple pour création de ligne unique
    Par MDsas dans le forum SAS Base
    Réponses: 10
    Dernier message: 02/02/2012, 14h33
  4. Réponses: 7
    Dernier message: 17/01/2007, 18h57
  5. [TDBGrid] Multisélection de lignes pour suppression
    Par littledoudou dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/11/2003, 10h42

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