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 :

Aide - Masquer des colonnes après application d'un filtre auto simple


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Par défaut Aide - Masquer des colonnes après application d'un filtre auto simple
    Bonjour,

    j'ai un tableau à double entrées, j'applique un filtre tout bête à la première colonne et je souhaite masquer les colonnes pour lesquelles la ligne choisie est vide. Je ne m'explique pas très bien donc exemples en pièces jointes : 1) le tableau complet ; 2) je filtre pour ne garder les valeurs correspondant aux types 2, 3 et 7 donc je voudrais masquer les colonnes vides (entreprises 3, 4, 5, 6, 9, 10, 11, 12).

    Si vous avez des bouts de codes à me proposer siouplait...

    (si je fais une macro toute bête qui masque les colonnes vides il n'y en aura jamais aucune de masquées)

    Merci !
    Images attachées Images attachées   

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut Latouk,

    Pas simple de te répondre sans fichier, mais tu peux essayer un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MasquerColonneVide()
      Dim Col As Integer
      For Col = 2 To 12
        ' Utiliser la fonction NBVAL() dans la colonne
        If Application.WorksheetFunction.CountA(Range(Cells(6, Col), Cells(Rows.Count, Col))) = 0 Then
          Cells(1, Col).EntireColumn.Hidden = True
        End If
      Next Col
    End Sub
    A+

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Par défaut
    Bonjour,

    merci pour ce début de code Bruno.

    Ci-joint un fichier un peu réduit qui reprend à peu près le même que le mien (j'ai supprimé les noms...).

    En fait les utilisateurs vont d'abord filtrer les déchets qui les intéressent, et comme il y a beaucoup de colonnes je voudrais qu'il puissent masquer toutes celles des entreprises n'ayant pas le type de déchet en question, qui sont donc vides une fois que l'on a appliqué le filtre auto.

    Je ne sais pas si c'est beaucoup mieux expliqué mais en tout cas merci pour votre aide...
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    En utilisant l'évènement SlectionChange de la feuille (le code est lancé dès sélection d'une cellule quelconque de la feuille)
    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)
    Dim LastLig As Long
    Dim i As Integer
     
    Application.ScreenUpdating = False
    LastLig = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
    On Error Resume Next
    Application.EnableEvents = False
    Columns("B:AA").Hidden = False
    For i = 2 To 27
        Columns(i).Hidden = Application.CountA(Range(Cells(3, i), Cells(LastLig, i)).SpecialCells(xlCellTypeVisible)) = 0
    Next i
    Application.EnableEvents = True
    End Sub

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Par défaut
    merci.

    "argument non facultatif"

    ...

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Testé
    ...

Discussions similaires

  1. masquer des colonnes
    Par magictom42 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/07/2007, 14h16
  2. [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, 02h53
  3. Masquer des colonnes ?
    Par epfyffer dans le forum Deski
    Réponses: 15
    Dernier message: 10/01/2007, 13h23
  4. [Reporting Services] Masquer des colonnes
    Par deep_blue dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/08/2006, 22h21
  5. Masquer des colonnes dans un tableau
    Par fornorst dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/04/2006, 21h00

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