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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Par défaut Suppression de lignes
    Bonsoir,

    J'essaie vainement de trouver une solution afin de supprimer des colonnes entière en fonction du contenu d'une cellule.

    Référence faite à l'exemple ci-dessous, j'aimerais faire supprimer avec une macro, toutes les lignes où apparaît par exemple le texte "04_Tâches" et ne conserver que les autres.

    Par opposition, j'aimerais également parvenir à ne conserver qu'une série de lignes dont une cellule contient la référence par exemple "07_Tâches" et "02_Tâches" et supprimer toutes les autres.

    Pour l'instant, je sèche lamentablement... Quelqu'un à-t-il une solution ?

    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Regardes les méthodes Find et FindNext de l'objet Range dans l'aide en ligne de VBA-Excel. Regardes aussi EntireRow et la méthode Delete, toujours de l'objet Range. La boucle requise est décrite dans l'aide sur FindNext.

    Pour ce qui est de conserver les lignes, copies-les plutôt sur une nouvelle feuille et supprimes l'ancienne en pecisant Application.DisplayAlerts = False avant la suppression de la feuille et = True après. N'oublies pas de conserver le nom de l'onglet de la feuille et de renommer la nouvelle au nom de l'ancienne. Si la suppression de la feuille n'est pas souhaitable (à cause de la présence de noms et/ou de fonctions évènementielles associés à celle-ci), copie les lignes sur une autre feuille, fais utilses UsedRange.Delete sur la feuille originale et ensuite transfers ce que tu as copié dessus.

    J'espère avoir été assez clair.

  3. #3
    Membre éclairé Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Par défaut Sippression de la ligne 04_Tâches
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub supp4_taches()
    Dim i As Integer
    For i = 100 To 1 Step -1
       If Range("c" & i) = "04_Tâches" Then
       Rows(i).Delete
        End If
    Next i
    End Sub
    Pour l'autre au lieu de mettre "=" mets <> "02_Tâches"

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    En effet, pour une centaine de lignes, la méthode de le_dilem est plus directe.

    Pour des milliers de lignes cependant, Find est beaucoup plus rapide d'exécution (sauf pour la méthode de conservation de certaines lignes par la copie).

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 18
    Par défaut Suppression de lignes
    Bonjour,
    Merci à tous et en particulier à Le Dilem pour votre précieuse aide. J'ai ainsi pu résoudre ce problème.
    @ bientôt


    Didier

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

Discussions similaires

  1. [Excel - VBA] Problème de suppression de lignes...
    Par beholder2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/01/2005, 17h27
  2. Suppression de lignes dans un fichier
    Par bubu dans le forum Linux
    Réponses: 2
    Dernier message: 13/01/2005, 10h36
  3. Dbgrid : Comment interdire Suppression de Ligne
    Par Francis dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/11/2004, 08h31
  4. Réponses: 4
    Dernier message: 02/07/2004, 19h14
  5. [VB.NET] Suppression de ligne dans un DataTable
    Par seemax dans le forum Windows Forms
    Réponses: 7
    Dernier message: 06/05/2004, 14h19

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