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 ligne SAUF si [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut Supprimer ligne SAUF si
    Bonjour,

    Décidément je suis un habitué de ce forum ces derniers temps.

    J'aurais besoin de vos compétences pour réaliser une macro me permettant de supprimer une ligne (jusque là j'avais réussi), cependant je voudrais que la ligne entière soit supprimer SAUF SI la cellule H contient la valeur "fixe".

    Je pense qu'il faut utiliser une boucle FOR mais j'ai vraiment beaucoup de mal avec VBA...

    Merci d'avance pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub SupprimerLigne()
     
        Selection.EntireRow.Delete
     
    End Sub

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Supposons que tu sois en Feuil1, que tu veuilles tester toutes tes lignes y compris la première et que ta dernière ligne remplie ait sa case en A remplie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub SupprimerLigne()
    With Sheets("Feuil1")
    For i = .range("A" & rows.count).end(xlup).row to 1 step -1
    If .cells(i,8)<>"fixe" then
     .cells(i,8).EntireRow.Delete
    end if
    next i
    end with
    End Sub

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    Merci pour ta réponse. Je n'ai pas été assez clair. En fait j'aimerai que l'utilisateur clique sur une cellule de la ligne puis lance la macro en cliquant sur un bouton que j'ai créé. Si la cellule H de la ligne sélectionné contient "fixe", la ligne ne se supprime pas.

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Si tu veux un évenement voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ligne = Target.Row
    If ActiveSheet.Cells(ligne, 8) <> "fixe" Then
     ActiveSheet.Cells(ligne, 8).EntireRow.Delete
    End If
    End Sub

    Pour ton histoire de bouton voilà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub bouton()
    ligne = Selection.Row
    If ActiveSheet.Cells(ligne, 8) <> "fixe" Then
     ActiveSheet.Cells(ligne, 8).EntireRow.Delete
    End If
    End Sub

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    Super ça marche! Il fallait juste déclarer la variable ligne.
    Quel est l'intérêt d'un évènement?

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Tu n'as pas besoin de cliquer sur ton bouton selectionner la ligne suffit

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 12/02/2012, 22h23
  2. supprimer lignes d'une variable session tableau sauf 1
    Par epeichette dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2006, 18h41
  3. [Tableaux] débutant : supprimer ligne tableau
    Par samplaid dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2006, 11h39
  4. Supprimer ligne
    Par jojoboloss dans le forum Access
    Réponses: 5
    Dernier message: 13/03/2006, 23h12
  5. Supprimer ligne en double
    Par azman0101 dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/06/2004, 18h53

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