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 :

[E03] Masquer lignes vides


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut [E03] Masquer lignes vides
    Bonjour

    Jai un bouton de commande qui affiche un tableau de 100 liges. Les lignes se remplissent automatiquement par saisie dans une autre feuille.
    Souvent il arrive que le tableau ne contient que 20 lignes, alors je voudrai que les lines vides soient masquées dès que je clique sur le bouton de commande "afficher" pour afficher mon tableau (Le nombre de lignes vides est variable)

    Y a t-il une possibilité ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Je propose la macro paramétrée suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub MasquerLignesVidesEnA(NomFeuille As String)
        Dim Cellule As Range
        Dim Feuille As Worksheet
     
        Set Feuille = Worksheets(NomFeuille)
     
        For Each Cellule In Feuille.Range(Feuille.Range("a2"), Feuille.Range("a" & Rows.Count).End(xlUp))
            If Cellule = "" Then Cellule.EntireRow.Hidden = True
        Next Cellule
    End Sub
    C'est un exemple de ce qui peut se faire. Il faut passer le nom de l'onglet en paramètre, et les lignes pour lesquelles la cellule en A est vide sont masquées.

    Cela t'aide-t'il?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonsoir
    ici le teste commence apartir de la ligne 4 s'il n'ya pas de valeurs dans les cellules de la ligne entière ce dernier sera masqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MasqEmptyRows()
    Dim R As Integer
        Application.ScreenUpdating = False
          For R = 4 To 100 ' à adapter
            If WorksheetFunction.CountA(Rows(R)) = 0 Then
               Rows(R).Hidden = True
               End If
          Next
    End Sub
    Bonne chance

    Abed_H

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut
    Bonsoir
    J'ai encore beaucoup de lacunes avec vos codes. Demain je vous tiendrai au courant de la suite. Celui d'ABed_H masque les lignes remplies.
    Fichier joint

    Bonne soirée
    Fichiers attachés Fichiers attachés

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Avec le fichier que tu as placé, tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
        Dim Cellule As Range
     
        For Each Cellule In ActiveSheet.Range("a5:a26")
            If Cellule = "" Then Cellule.EntireRow.Hidden = True
        Next Cellule
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations forums :
    Inscription : Octobre 2007
    Messages : 223
    Par défaut
    Salut
    Ton second code fonctionne bien.
    Je n'ai pas su manipuler le premier mais je voudrai y arriver.
    Merci pour ta patience.

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

Discussions similaires

  1. Macro permettant de masquer toutes les lignes vides d'une feuille
    Par edouardmartin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2010, 17h34
  2. Masquer lignes dernieres lignes vides
    Par jacfld49 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/03/2010, 21h00
  3. [BO6.5.1] Masquer les lignes vides
    Par Herlece dans le forum Deski
    Réponses: 3
    Dernier message: 06/08/2008, 11h03
  4. Masquer des lignes vides
    Par gg9595 dans le forum Webi
    Réponses: 11
    Dernier message: 28/06/2007, 12h03
  5. Supprimer/Masquer les lignes vides
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2007, 12h13

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