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 :

En VBA: Masquer des colonnes en fonctions de la comparaison de 2 cellules [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    responsable opérationnel
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : responsable opérationnel

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Par défaut En VBA: Masquer des colonnes en fonctions de la comparaison de 2 cellules
    Bonjour,
    Dans une feuille, Je cherche comment masquer les colonnes de "D" à "F" (soit les 3 colonnes) si la cellule "D1" est égale à la cellule "B2" et cela à chaque modification de "B2", sachant que c'est du texte qui est dans les cellules.

    Merci à l'avance.

    Bonne fin de journée.

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour respcond,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Worksheet_Change(ByVal Target As Range
     
    If Target.Address = "$B$2" Then
        If Range("D1") = Range("B2") Then
           Columns("D:F").EntireColumn.Hidden = True
        Else
           Columns("D:F").EntireColumn.Hidden = False
        End If
    End If
     
    End Sub
    A tester

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    responsable opérationnel
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : responsable opérationnel

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Par défaut
    Merci beaucoup, cela fonctionne.
    Bonne journée.

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour respcond, Bonjour rêver,

    On peut user de valeurs booléennes comme de valeurs numériques.

    Ici, on teste une valeur booléenne.
    Les valeurs de D1 et B2 sont-elles exactes, oui ou non?
    En conséquence les colonnes seront oui ou non masquées?

    Donc
    Masquer les colonnes = (égalité des cellules)

    Ce qui se traduit par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns("D:F").EntireColumn.Hidden = (Range("D1") = Range("B2"))
    Economie est ainsi faite de 4 lignes de codes comportant une condition.

  5. #5
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Oh ! Très intéressant ! Je ne connaissais pas cela ! Merci pour l'information !

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    responsable opérationnel
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : responsable opérationnel

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Par défaut complément pour masquer des lignes
    Re, Codes très court et fonctionne bien merci .

    Et si je souhaite masquer les lignes dont la cellule en colonne "D" est inférieur à la valeur de la cellule "A1".

    ex si j'ai la valeur "5" en "A1" et que les cel "D5" et "D8" = 3 les lignes 5 et 8 seront masquées.

    Cela devra se faire à chaque modification de "A1". (mais ça , c'est bon maintenant)

    Merci à l'avance
    et bon appétit

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

Discussions similaires

  1. afficher et masquer des lignes en fonction de la valeur d'une cellule
    Par kif550 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/05/2017, 08h01
  2. [XL-2003] Code VBA pour masquer des onglets en fonction du contenu d'une cellule
    Par Sergio33600 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/02/2017, 11h02
  3. Réponses: 3
    Dernier message: 12/07/2013, 18h32
  4. Afficher/masquer des colonnes : VBA vs Claire
    Par mouaa dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/08/2007, 10h11
  5. [VBA-E] Problème pour masquer des colonnes.
    Par martiweb dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/04/2007, 03h53

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