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 :

Cacher des lignes sous conditions


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 55
    Par défaut Cacher des lignes sous conditions
    Bonjour,

    J'aurais besoin de vos lumières.

    Je dois cacher des lignes sous certaines conditions mais je n'arrive pas a faire de code, j'y connais rien a vrai dire.

    Alors
    si K17 = a rien alors les lignes 23 à 126 seront cachées
    si K17 = 1 alors les lignes 65 à 126 seront cachées
    si K17 = 2 alors les lignes 86 à 126 seront cachées
    si K17 = 3 alors les lignes 107 à 126 seront cachées

    J'aimerais aussi que le code se fasse automatiquement dès que le numéro dans la case K17 est saisie.

    Je ne sais même pas où je dois mettre ce fameux code, que je n'arrive pas a faire.

    Merci d'avance

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Bonjour,


    Il faut utiliser l'évènement Worksheet_SelectionChange dans ta feuille directement. Un truc dans ce genre :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_SelectionChange(ByVal Target as Range)
        If target.address="$K$17" then
           select case range("K17")
    case 1
        rows("65:126").EntireRow.Hidden = True
    case  2
        rows("86:126").EntireRow.Hidden = True
    case  3
        rows("107:126").EntireRow.Hidden = True
    case else
     rows("23:126").EntireRow.Hidden = True
    end select
        end if
    En sub
    Un truc dans ce genre.
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 55
    Par défaut
    Ça marche c'est super merci

    J'ai une autre question qui relève du même sujet

    Si j'ai ma cellule B19 qui n'est pas rempli je veux que ça cache la ligne
    Idem pour C19; D19 etc...

    Comment je fais ?

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Salut,


    Tu veux cacher quoi comme ligne ?
    Dans tous les cas, ton code sera dans le même rang que celui ci-dessus
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Perso, j'aurai plutôt écrit en ligne 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If target.address<>"$K$17" then Exit Sub
    En supprimant le End If

    Ca enlève une couche à la structure.

  6. #6
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Bonjour Menhir,


    Merci, en fait de mon côté je n'utilise jamais le If sur une ligne. En quoi est-ce utile d'enlever "une couche" ? Je n'en comprend pas bien le sens ça réduit el temps de traitement ? ouc 'est juste pour la visualisation du code ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Pour moi, ça simplifie le code.

    On supprime dès le début les cas indésirables.
    Ca évite d'avoir une indentation supplémentaire en englobant l'ensemble du code dans une structure If - End If.
    Pour moi, moins le code a de structures imbriquées les unes dans les autres, plus il est facile à comprendre.

    Ensuite, c'est à chacun de voir ce qu'il préfère.
    Les goûts et les couleurs, ça ne se discute pas.

  8. #8
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Merci pour l'explication
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

Discussions similaires

  1. [XL-2007] Code VBA pour supprimer des lignes sous condition - problème
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/06/2011, 09h09
  2. [XL-2003] déplacement des lignes sous conditions
    Par tazko dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/03/2011, 19h57
  3. Masquer des lignes sous condition
    Par linousxm dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/05/2010, 13h19
  4. copier des lignes sous conditions (dans 2 colonnes différentes)
    Par olive08 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 12/10/2007, 14h44
  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