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

  1. #1
    Nouveau Candidat au 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
    Points : 1
    Points
    1
    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
    Nouveau Candidat au 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
    Points : 1
    Points
    1
    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 sénior 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
    Points : 31 877
    Points
    31 877
    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
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Nouveau Candidat au 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
    Points : 1
    Points
    1
    Par défaut
    merci.

    "argument non facultatif"

    ...

  6. #6
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Testé
    ...
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Nouveau Candidat au 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
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    dans ce cas c'est moi qui dois rater un truc je vais chercher quoi.

    Merci pour votre aide, à bientôt.

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si, déjà, tu nous disais sur quelle ligne, l'erreur, ça nous aiderait à t'aider...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Nouveau Candidat au 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
    Points : 1
    Points
    1
    Par défaut
    D'habitude quand je fais un code et qu'il ne marche pas, la fenêtre VBA s'ouvre et l'endroit où est l'erreur est écrit. Là, non. Seul un message d'erreur "argument non facultatif" s'ouvre, et c'est tout. Donc je ne sais pas sur quelle ligne est l'erreur.

    Je pense que je suis encore beaucoup trop débutante, je ne veux pas non plus vous faire perdre votre temps il faut que je me penche plus sur l'aide.

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si tu veux savoir sur quelle ligne l'erreur se présente, mets un point d'arrêt en début de macro et fais F8 jusqu'à l'erreur.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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