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 sous conditions


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Suppression de lignes sous conditions
    Bonjour à tous,
    Je suis débutant au niveau des macros et je souhaite supprimer toutes les lignes contenant "-" sur toutes mes feuilles sauf ma feuille 2.

    Voici mon bout de code que j'utilise mais je dois cliquer sur mon bouton de macro à chaque fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub suppr()
    Dim i As Integer
    For i = 1 To 256
    If Cells(i, 1) = "-" Then
    Rows(i).Delete
    i = i - 1
    End If
    Next
    End Sub
    Si quelqu'un a une idée pour m'aider je suis preneur
    Merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Quelque chose comme ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    For Each ws In Worksheets
         if ws.name <> "Sheet2" then
            For i = 1 To 256
            If Cells(i, 1) = "-" Then
               Rows(i).Delete
               i = i - 1
            End If
            Next i
         Endif
    Next ws
    Voilà, j'espère que ça t'aidera...
    Bon week-end

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour dadou42, jmh51

    jmh51, causera des problème car c'est le For qui gère la valeur de i

    de plus comme il y a supression de ligne il faut commencer par la fin, il y a plein d'explication à ce sujet sur le forum.

    dadou42, le code un peu modifié et testé
    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
    Sub suppr()
    Dim wsh As Worksheet
    Dim i As Integer
     
    For Each wsh In Worksheets
      If wsh.Name <> "Feuil2" Then
        For i = 256 To 1 Step -1
          's'il n'y a que le tiret dans la cellule
          If wsh.Cells(i, 1) = "-" Then wsh.Rows(i).Delete Shift:=xlUp
          'si le tiret est dans une chaine de caractère
          'If InStr(1, wsh.Cells(i, 1).Value, "-") > 0 Then wsh.Rows(i).Delete Shift:=xlUp
        Next
      End If
    Next
    End Sub

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour zyhack,
    Merci pour ton retour , j'ai bien testé ta macro
    Mais je n'arrive pas à la faire fonctionner sur mon fichier.
    Elle me supprime 229 lignes par 229.
    Merci par avance pour ton retour
    Fichiers attachés Fichiers attachés

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    Si tu veux traiter toutes les lignes remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = 256 To 1 Step -1
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        For i = wsh.Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1

Discussions similaires

  1. [XL-2007] Suppression de ligne sous condition
    Par discus23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2012, 11h55
  2. Suppression des lignes sous conditions
    Par e08b753z dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/06/2012, 18h28
  3. Echec de suppression de ligne sous condition
    Par didyvine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/07/2009, 23h56
  4. Suppression de lignes sous conditions
    Par juniorglobal08 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/10/2008, 21h15
  5. Suppression des lignes sous condition multiple
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/06/2007, 16h23

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