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 series de 21 lignes contenant "x" dans la colonne A [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Passioné
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Passioné
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Supprimer une series de 21 lignes contenant "x" dans la colonne A
    Bonjour a tous ,

    je débutent dans vba donc .... pas facile

    Je desirerais supprimé des lignes contenant "x" dans la colonne A.
    cela j ai trouver... voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub supprimé_21_lignes()
    For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1 Step -1
    If Cells(lin, 1) = "x" Then Rows(lin).Delete Shift:=xlUp
    Next lin
    End Sub
    Maintenant je voudrait limiter la suppression de ces lignes a 21 à chaque fois que je clic sur mon bouton.

    ESt- ce que quelqu un pourrai m aider svp

    Merci

    PS : je suis pas un habitué des forums donc si j ai oublié quelque chose pardonnez moi.

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour VDK, bonjour le forum,

    Tu as juste oublié de baliser le code avec le bouton #...
    Si j'ai bien compris, essaie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub supprimé_21_lignes()
    Dim I As Byte
     
    For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1 Step -1
        If I = 21 Then Exit Sub
        If Cells(lin, 1) = "x" Then Rows(lin).Delete Shift:=xlUp
        I = I + 1
    Next lin
    End Sub
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Passioné
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Passioné
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour Thautheme

    Tout d'abord merci pour ton aide.

    J ai essaié ton code mais il n'efface que 3 lignes a la fois .
    J 'essaie de comprendre pourquoi .
    Si tu as une idée ... Merci a toi

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    Robert, une p'tite optimisation pour les lignes de la plage utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        With ActiveSheet.UsedRange
            For lin& = .Rows.Count To 1 Step -1
     
                If .Cells(lin, 1) = …
     
            Next
        End With
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Passioné
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Passioné
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour Marc L

    Voila Ca y est ca fonctionne , je touche plus a rien lol

    J ai modifier le "21" en "38"

    J avoue que je sais pas trop bien ce que j ai fait mais ca marche ...

    Merci encore pour votre aide

  6. #6
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    s'il faut supprimé 21 ligne a chaque fois que x est trouvé alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub supprimé_21_lignes()
     
    For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1 Step -1
        If Cells(lin, 1) = "x" Then Rows(lin & ":" & lin + 20).Delete Shift:=xlUp
    Next lin
    End Sub

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Passioné
    Inscrit en
    Octobre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Passioné
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2014
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    bonjour keygen08

    Merci pour ton code et pour le petit bouton résolu

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/10/2013, 11h04
  2. Sauvegarde d'une base en mode ligne contenant des '-'
    Par Labienus dans le forum Administration
    Réponses: 4
    Dernier message: 22/10/2010, 10h58
  3. Supprimer une partie de matrice ne contenant que des 0
    Par jmbonnaz dans le forum MATLAB
    Réponses: 2
    Dernier message: 29/06/2007, 18h03

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