Afficher / masquer ligne spécifique

Bonjour,

Je viens car après quelques temps à buter sur un trucs je ne trouve pas la solution et je sais que vous êtes bien meilleur que moi sur le sujet des macro.

Alors je cherche à faire en sorte que dans une plage de cellule donnée (appelons la "Tableau1") on puisse (en cliquant sur un bouton) masquer toute les lignes où la cellule de la colonne E est vide. J'ai repris une macro qui avait le même but dans un autre fichier mais cela ne marche pas.

Et ensuite de le même façon en cliquant sur un bouton, faire réafficher toutes les ligne de la plage donnée.

Voici le macro que j'ai inséré mais il me parle de faire un débogage mais bon je suis débutant de chez débutant dans la VBA donc je ne vois pas forcement l'erreur qu'il faut corrigé.

Sub Macro4()
'
' Macro4 Macro
'

'
    ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:= _
        "<>"
End Sub
Sub Macro6()
'
' Macro6 Macro
'

'
    ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=2
End Sub

Merci par avance pour votre aide

Bonjour,

Le code marche très bien :

Sub Macro4()

    'pour ne pas avoir les cellules vide
    ActiveSheet.ListObjects("Tableau1").Range.AutoFilter 2, "<>"
    'pour avoir les cellule vides
    'ActiveSheet.ListObjects("Tableau1").Range.AutoFilter 2, "="

End Sub

mais ton tableau commence bien en colonne D ? Car si ce n'est pas le cas, il te faut adapter le numéro de champ exemple, si ton tableau commence en colonne A, le numéro de champ sera 5 pour la colonne E

J'ai bien ma colonne E qui est le 2 ème colonne de ma sélection mais il me mets

Erreur d’exécution '9':

L'indice n'appartient pas à la selection

Et c'est pareil si je selection à partir de la colonne A et que je change le 2 en 5

Et pendant que j'y suis, petite question.

Il y a 3 mois environ j'ai demander de l'aide pour une création de macro de limitation de caractère et quelqu'un m'a sortie exactement ce que je voulais cependant depuis quelques jours, il ne fonctionne plus. j'ai donc essayer de l'intégré sur un nouveau ficher en voulant l'appliquer au même cellule mais rien n'y fait ça ne marche pas.

Si vous avez une explication pour cela ?

Private Sub Limite()
    Const Lmax As Integer = 60
    Dim tx$, h%, isect As Range, c As Range
    Set isect = Intersect(Range("F9:F38"), Target)
    If Not isect Is Nothing Then
        For Each c In isect
            tx = c.Value
            If Len(tx) > Lmax Then
                tx = Left(tx, Lmax + 1)
                If Mid(tx, Len(tx), 1) = " " Then
                    tx = RTrim(tx)
                Else
                    h = InStrRev(tx, " ") - 1
                    tx = Left(tx, h)
                End If
                c.Value = tx
            End If
        Next c
    End If
End Sub
Rechercher des sujets similaires à "afficher masquer ligne specifique"