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 :

Excel 2019 VBA macro masquer lignes et colonnes vides [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mars 2023
    Messages : 4
    Par défaut Excel 2019 VBA macro masquer lignes et colonnes vides
    Bonjour, J'essaie de masquer toutes les colonnes et lignes vides de mon tableau sur excel 2019. Concernant les colonnes, j'ai trouvé une macro qui fonctionne mais j'aimerai que cette macro masque également les lignes vides. J'ai testé une deuxième macro pour les lignes vides mais cela ne fonctionne pas. De plus j'aurai aimé n'avoir qu'une seule macro qui masque les lignes et les colonnes vides. Pouvez-vous m'aider ? Merci beaucoup.
    macro_plan.xlsm

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Votre problème vient du fait que vos cellules contiennent des formules donc, aucune n'est vide. En vertical cela fonctionne parce qu'il détecte des valeurs purement numériques, alors qu'en horizontal il y a des lignes qui ne comportent que du texte(ou alphanumérique). J'ai donc modifié vos formules pour qu"elles retournent "vide" si la cellule testée est vide, de plus certaines cellules en apparence vides contiennent des espaces, donc non vides, là encore cela empêche le bon fonctionnement de la macro, il a fallu intégrer cette suppression d'espace dans la nouvelle formule qui devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI('vérification plan'!A1"";"";SUPPRESPACE('vérification plan'!A1))
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Masquer_Lignes_Colonnes()
        Dim i As Integer
        Dim Cel As Range
        Dim Masquer As Boolean
        Application.ScreenUpdating = False
     
        Columns("A:GI").Columns.Hidden = False
        Rows("1:90").Rows.Hidden = False
     
        'masquage des lignes horizontales vides
        For i = 90 To 1 Step -1
            Masquer = True
            For Each Cel In Range(Cells(i, "A"), Cells(i, "GH"))
                If Cel.Value <> "" Then
                    Masquer = False
                    Exit For
                End If
            Next Cel
            If Masquer Then Rows(i).Hidden = True
        Next i
     
        'masquage des lignes verticales vides
        For i = 191 To 1 Step -1
            Masquer = True
            For Each Cel In Cells(1, i).Resize(200).SpecialCells(xlCellTypeVisible)
                If Val(Cel.Value) > 0 Then
                    Masquer = False
                    Exit For
                End If
            Next Cel
            If Masquer Then Columns(i).Hidden = True
        Next i
    End Sub
     
    [ATTACH]636030[/ATTACH]
    Cdlt

  3. #3
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonjour, ca ne fonctionne pas car dans la ligne 18 par exemple il y a 191 cellules non vides "Espace par exemple ????"

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour sofmat74 et merci pour le cross posting sur au moins 4 forums

    Vous devriez avoir les réponses

  5. #5
    Membre à l'essai
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mars 2023
    Messages : 4
    Par défaut Désolée
    Bonjour,

    Je suis désolée, c'est la 1ère fois que je pose une question et je ne savais pas comment cela fonctionnait. Je le saurai pour la prochaine fois.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2023
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mars 2023
    Messages : 4
    Par défaut Excel 2019 VBA macro masquer lignes et colonnes vides - masque les cellules composées de texte
    J'ai utilisé votre code mais j'ai une dernière question, dans ma 1ère colonne de l'onglet "vérification plan", j'ai des textes (par ex. en D4 = Groupe 1, en E4 = Ligne 1) et lorsque je cache les colonnes, cela fonctionne très bien avec les chiffres mais cela cache ces cellules qui sont du texte. Les colonnes D et E se masquent alors qu'elles ne sont pas vides.

    Voilà le résultat :

    Nom : macro-resultat.jpg
Affichages : 95
Taille : 40,5 KoNom : macro-resultat.jpg
Affichages : 95
Taille : 40,5 Ko

    Avez-vous une solution ? Merci beaucoup !

  7. #7
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Si je comprend bien les colonnes A et B doivent rester affichées en permanence (Titre)

    Il suffit de les exclure de la macro qui masque les colonnes ????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i = 191 To 3 Step -1
    a la place de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i = 191 To 1 Step -1

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

Discussions similaires

  1. Macro- Masquer lignes sous condition
    Par yaelito dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/08/2021, 09h42
  2. [Toutes versions] VBA - Macro Copier/Coller des colonnes avec l'en-tête comme critère
    Par valou_453 dans le forum Excel
    Réponses: 1
    Dernier message: 26/05/2021, 17h32
  3. [XL-2016] Macro masquer afficher des colonnes si case à cocher active
    Par Martin Sofraco dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2017, 08h56
  4. [Toutes versions] VBA - Macro Majuscule dans une colonne
    Par Antho- dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/08/2017, 10h11
  5. masquer lignes et colonnes en fonction du choix listbox multiselection
    Par francis45 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2015, 10h18

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