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 :

Masquer des colonnes à la demande [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 226
    Par défaut Masquer des colonnes à la demande
    Bonjour,

    Dans ma feuille de calcul je sélectionné un mois dans ma cellule B3 soit un mois de l'année, je veux que les colonnes qui sont posterieurs à ce mois dans les colonnes C:N soients masquées, comment faire?

    Cordialement.
    Cf fichier joint
    Fichiers attachés Fichiers attachés

  2. #2
    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
    je n'ai pas ouvert ton fichier
    si tu as en B3, une liste avec les numéros des mois
    tu peux essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
        Range("C1:N1").EntireColumn.Hidden = False
        If Target.Value < 12 Then Range(Cells(1, 3 + Target.Value), Cells(1, 14)).EntireColumn.Hidden = True
    End If
    End Sub

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 226
    Par défaut
    Excellent,

    Encore une fois comment modifier le code, parce que mon "B3" je le veux dans une autre feuille que je nomme pilote.

    Cordialement.

  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
    à mettre dans le code de la feuille pilote
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
        With Sheets("Feuil1")  'à adapter selon le nom de ta feuille où masquer les colonnes
            .Range("C1:N1").EntireColumn.Hidden = False
            If Target.Value < 12 Then .Range(.Cells(1, 3 + Target.Value), .Cells(1, 14)).EntireColumn.Hidden = True
        End With
    End If
    End Sub
    bien sûr en B3 de la feuille pilote tu as une liste des numéros des mois (et non le nom des mois)
    sinon on peut adapter

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 226
    Par défaut
    Parfait,

    Avec les mois c'est comment?

  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
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range
    Dim k As Byte
    If Target.Address = "$B$3" Then
    With Sheets("Feuil1")
        .Range("C1:N1").EntireColumn.Hidden = False
        Set c = .Range("C7:N7").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)  'Tes mois sont dans la ligne 7
        If Not c Is Nothing Then
            k = c.Column
            If k < 14 Then .Range(.Cells(1, k + 1), .Cells(1, 14)).EntireColumn.Hidden = True
        End If
        Set c = Nothing
    End With
    End If
    End Sub

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

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