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 :

Afficher colonnes avec Workbook


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 139
    Par défaut Afficher colonnes avec Workbook
    Bonjour,

    Je cherche à réinitialiser une feuille Excel à son ouverture

    J'ai réussi à supprimer les filtres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_Open()
     With ThisWorkbook.Worksheets("Ma Feuille")
     If .FilterMode Then .ShowAllData
     End With
     End Sub
    Mais je n'y arrive pas pour les colonnes et/ou lignes masquées

    Merci de l'intérêt que vous y porterez

  2. #2
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Dans un nouveau classeur, masquez quelques colonnes.
    Puis lancez l'enregistreur de macros, sélectionnez toute la feuille, faîtes un clic droit sur les entêtes de colonnes et cliquez sur "Afficher".
    Arrêtez l'enregistreur de macros et allez voir le code qui a été créé.
    Vous pourrez alors nettoyez ce code pour obtenir ce que vous voulez.

    Réitérez avec les lignes si l'adaptation n'est pas évidente.

    Cela devrait vous permettre de trouver la bonne syntaxe

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 139
    Par défaut
    Merci Ben_L de ton aide c'est très apprécié.

    je ne suis vraiment pas expert mais je tente d'apprendre à chaque fois.

    Le code qui ressort de la manipulation est

    Selection.EntireColumn.Hidden = False

    je ne sais pas trop comment l'appliquer dans le Workbook

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 139
    Par défaut
    Merci Ben_L, je ne connaissais pas l'outil enregistreur de macro, cela m'a dirigé vers une réponse fonctionnel

    La voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Open()
    With ThisWorkbook.Worksheets("Ma Feuille")
    If .FilterMode Then .ShowAllData
        Columns("A:ZZ").Select
        Selection.EntireColumn.Hidden = False
    End With
    End Sub

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2010
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 139
    Par défaut
    Et plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_Open()
    With ThisWorkbook.Worksheets("Billets 17-18")
    If .FilterMode Then .ShowAllData
        Columns("A:ZZ").Hidden = False
    End With
    End Sub

  6. #6
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Il est souvent plus pratique et plus rapide d'utiliser l'enregistreur de macros...
    Reste ensuite, effectivement, à apprendre à extraire la partie importante du code généré automatiquement.
    De façon générale, on peut dire que le plus important pour nettoyer le code de l'enregistreur, c'est de supprimer toutes les actions de sélection ainsi que les références aux objets actifs.

    Une autre remarque importante concernant le code que vous proposez ici : l'utilisation de Columns sans qualificateur (càd sans préciser la référence de l'objet auquel appartient cette méthode) est équivalente à l'appel ActiveSheet.Columns.
    Dans la mesure où vous appelez la méthode Columns à l'intérieur d'un With qui fait référence à la feuille qui vous intéresse, il serait préférable d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Workbook_Open()
        With ThisWorkbook.Worksheets("Billets 17-18")
            If .FilterMode Then .ShowAllData
            .Columns.Hidden = False
            .Rows.Hidden = False
        End With
    End Sub

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

Discussions similaires

  1. Afficher plusieurs colonnes avec fonction MAX
    Par koolshenntm dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/07/2014, 16h28
  2. Masquer/afficher colonne automatiquement avec condition
    Par sebing dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/09/2010, 21h21
  3. afficher des elements en colonne avec un height ?!
    Par oceane751 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 22/08/2009, 00h49
  4. [Visual Web] Afficher une colonne avec une image
    Par david71 dans le forum NetBeans
    Réponses: 1
    Dernier message: 05/12/2007, 17h20
  5. [XPath] Afficher données en colonnes avec bris
    Par iDaaX dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/12/2006, 21h54

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