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

Excel Discussion :

Suppression de lignes dans une liste en fonction de certains critères [XL-365]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 113
    Par défaut Suppression de lignes dans une liste en fonction de certains critères
    Bonjour,
    J’ai téléchargé récemment une macro sur le forum Excel permettant de supprimer des lignes dans une colonne qui ne correspondent pas à un critère déterminé.
    Quand la macro est activée, une Textbox apparait et demande quelle est la valeur minimale demandée. Toutes les lignes dont la valeur est inférieure sont masquées.
    Cela marche que s’il s’agit de la colonne A, or je voudrais que cela puisse se faire dans une autre colonne B ou C par exemple.
    Je joins un fichier avec la macro ainsi que le programme VBA que j’ai téléchargé.
    Pas de panique il n’ y a pas de virus, je ne suis pas un hacker
    Merci de votre aide

    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 onglet1 As Worksheet
        Dim derniereLigne As Long
        Dim Ligne_en_cours As Long
        Dim ValeurMin As String
        Dim Cel As Range
     
        Set onglet1 = Worksheets("Feuil1")
        ValeurMin = InputBox("Indiquez une valeur minimale ? ", "ValeurMin")
        derniereLigne = onglet1.Cells(Rows.Count, 1).End(xlUp).Row
     
        For Ligne_en_cours = derniereLigne To 1 Step -1
            If onglet1.Cells(Ligne_en_cours, 1) <= ValeurMin * 1 Then onglet1.Rows(Ligne_en_cours).Hidden = True
        Next Ligne_en_cours
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    tu peux rentrer la valeur en dur dans le code ou la demander via une inputbox:
    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
    18
    Sub suppr()
        Dim onglet1 As Worksheet
        Dim derniereLigne As Long
        Dim Ligne_en_cours As Long
        Dim ValeurMin As String
        Dim Cel As Range
        Dim col As String
     
        'col = "B"
        col = InputBox("Indiquez la colonne ", "colonne")
        Set onglet1 = Worksheets("Feuil1")
        ValeurMin = InputBox("Indiquez une valeur minimale ? ", "ValeurMin")
        derniereLigne = onglet1.Cells(Rows.Count, col).End(xlUp).Row
     
        For Ligne_en_cours = derniereLigne To 1 Step -1
            If onglet1.Cells(Ligne_en_cours, col) <= ValeurMin * 1 Then onglet1.Rows(Ligne_en_cours).Hidden = True
        Next Ligne_en_cours
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 113
    Par défaut Suppression de lignes dans une liste en fonction de certains critères
    Citation Envoyé par halaster08 Voir le message
    Bonjour,

    tu peux rentrer la valeur en dur dans le code ou la demander via une inputbox:
    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
    18
    Sub suppr()
        Dim onglet1 As Worksheet
        Dim derniereLigne As Long
        Dim Ligne_en_cours As Long
        Dim ValeurMin As String
        Dim Cel As Range
        Dim col As String
     
        'col = "B"
        col = InputBox("Indiquez la colonne ", "colonne")
        Set onglet1 = Worksheets("Feuil1")
        ValeurMin = InputBox("Indiquez une valeur minimale ? ", "ValeurMin")
        derniereLigne = onglet1.Cells(Rows.Count, col).End(xlUp).Row
     
        For Ligne_en_cours = derniereLigne To 1 Step -1
            If onglet1.Cells(Ligne_en_cours, col) <= ValeurMin * 1 Then onglet1.Rows(Ligne_en_cours).Hidden = True
        Next Ligne_en_cours
    End Sub
    Merci pour votre réponse. J'ai essayé et cela marche. Toutefois quel code dois je ajouter pour inscrire la colonne en dur au lieu d'un TextBox ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par EAU24 Voir le message
    Merci pour votre réponse. J'ai essayé et cela marche. Toutefois quel code dois je ajouter pour inscrire la colonne en dur au lieu d'un TextBox ?
    Enlever le ' a la ligne 9, le mettre a ligne 10
    Changer le B de mon exemple par la colonne souhaité

  5. #5
    Membre confirmé
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 113
    Par défaut Suppression de lignes dans une liste en fonction de certains critères
    OK ça marche. Un grand merci.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    385
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 385
    Par défaut
    Bonjour,

    La colonne est spécifiée en ligne 13 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If onglet1.Cells(Ligne_en_cours, 1) <= ValeurMin * 1 Then onglet1.Rows(Ligne_en_cours).Hidden = True
    Le 1 correspond à la colonne A, donc à changer en 2 si tu veux la colonne B, etc.

  7. #7
    Membre confirmé
    Homme Profil pro
    EPSECO
    Inscrit en
    Juin 2017
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : EPSECO
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2017
    Messages : 113
    Par défaut Suppression de lignes dans une liste en fonction de certains critères
    Citation Envoyé par mat955 Voir le message
    Bonjour,

    La colonne est spécifiée en ligne 13 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If onglet1.Cells(Ligne_en_cours, 1) <= ValeurMin * 1 Then onglet1.Rows(Ligne_en_cours).Hidden = True
    Le 1 correspond à la colonne A, donc à changer en 2 si tu veux la colonne B, etc.
    Désolé mais j'ai modifié le code avec un 2 mais cela ne marche toujours pas. Donc je vais adopter la première proposition

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

Discussions similaires

  1. [XL-2003] Suppression lignes dans une liste puis trier cette liste
    Par graphikris dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/05/2013, 08h55
  2. Réponses: 7
    Dernier message: 28/02/2006, 16h46
  3. [FLASH 8] Selectionner une ligne dans une List
    Par Bb_TiTi dans le forum Flash
    Réponses: 1
    Dernier message: 02/01/2006, 17h47
  4. Ajouter une ligne dans une liste via un POPUP
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2005, 16h20
  5. [Lisp] Suppression des parenthèses dans une liste
    Par bourdaillet dans le forum Lisp
    Réponses: 3
    Dernier message: 19/12/2004, 21h02

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