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 une ligne via macro à partir d'une colonne donnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut Supprimer une ligne via macro à partir d'une colonne donnée
    Bonjour à tous!
    J'utilise le code trouvé sur la discussion :http://www.developpez.net/forums/d75...cel-condition/ pour supprimer une ligne entière sous condition à l'aide d'une macro.
    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 SupprLigne()
     
    Dim i As Integer
    Dim DerLigne As Integer
     
    DerLigne = Range("a" & Range("a:a").Rows.Count).End(xlUp).Row
     
    For i = DerLigne To 1 Step -1
        If Cells(i, 3).Value = "KO" Then
        Cells(i, 3).EntireRow.Delete
        End If
    Next i
     
    End Sub
    Ce code fonctionne à merveille mais je voudrais le modifier en supprimant la ligne mais à partir de la colonne B.
    Je sais qu'il faudrait modifier quelque chose sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, 3).EntireRow.Delete
    Mais je ne sais le faire. En quelque sorte un "Supprimer et décaler les cellules vers le haut".
    I need your help please!
    Merci d'avance!

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    Bonsoir

    Essaie le code suivant : le nombre de ligne est calculée à partir de la colonne A mais les "KO" sont données en colonne "B" et on supprime la ligne entiere.
    Cordialement
    lps02
    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 SupprLigne()
     
    Dim i As Integer
    Dim DerLigne As Integer
     
    DerLigne = Range("a" & Range("a:a").Rows.Count).End(xlUp).Row
     
    For i = DerLigne To 1 Step -1
        If Cells(i, 2).Value = "KO" Then
        Cells(i, 2).EntireRow.Delete
        End If
    Next i
     
    End Sub
    Re bonsoir

    Un complément à mon code précédent si tu veux garder les valeurs en colonnes A et B et supprimer à partir de la colonne C Dans mon exemple, je suppose que les valeurs s'arrêtent à la colonne w.
    Attention toutefois dans ce cas là, les cellules remontent à partir de la colonne C mais les valeurs des colonnes A et B restent inchangées. Est ce bien ce que tu recherches?
    Cordialement
    lps02
    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
    Sub SupprCellules()
     
    Dim i As Integer
    Dim DerLigne As Integer
     
    DerLigne = Range("a" & Range("a:a").Rows.Count).End(xlUp).Row
     
    For i = DerLigne To 1 Step -1
    'les "KO" sont dans la colonne C
        If Cells(i, 3).Value = "KO" Then
    'suppression des cellules à partir de la colonne C jusque Z et les cellules remontent.
        Range("C" & i & ":Z" & i).Delete Shift:=xlUp
     
        End If
    Next i
     
    End Sub

  3. #3
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut
    Merci lps02,
    Désolé pour le retard!. Au fait c'est la deuxième solution qui résout mon problème. Pour moi, il n'y a que la colonne A qui garde ses valeurs, le reste est supprimé.
    Merci encore une fois!

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

Discussions similaires

  1. Insertion d'une ligne via macro + copie de la mise en forme conditionnelle
    Par JustyDark dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/04/2015, 08h43
  2. Réponses: 3
    Dernier message: 14/08/2012, 10h24
  3. macro copier coller une ligne d'un tableau dans une autre feuille
    Par sonichou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/07/2011, 22h13
  4. Réponses: 14
    Dernier message: 14/11/2008, 10h16
  5. [Macro excel]selectionner une ligne à partir d'une recherche
    Par heavenly dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/04/2007, 16h26

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