Masquer si ligne vide sinon rester afficher

Bonjour à tous,

J'ai un code sur mon fichier qui me permet de masquer les lignes vide dans la colonne E à partir de la ligne 4.

Aujourd'hui je voudrais que si il y à un "?" que la ligne ne se masque pas.

Avez-vous une idée, merci à vous

Sub Actualisationdesimmobilisations()
'===============================================================================
'Sélectionne seulement les lignes avec une date de sortie dans l'onglet point 5'
'===============================================================================

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual

'Sélectionner la première cellule contenant des valeurs
    Range("E4").Select
'Boucle qui tourne jusqu'à ce qu'elle rencontre une cellule vide
    While IsEmpty(ActiveCell.Value) = False
' Si la valeur est 0, la ligne est masquée
        If ActiveCell.Value = "" Then
            Selection.EntireRow.Hidden = True
'Sinon, la ligne est affichée. Ces deux lignes peuvent être enlevées si tu n'as pas besoin de réafficher des lignes préalablement masquées
        Else
            Selection.EntireRow.Hidden = False
        End If
        ActiveCell.Offset(1, 0).Select
    Wend

    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

End Sub

Bonjour

Pour commencer je me permet de te donner un code un peux plus "propre" pour masquer les lignes vide :

Sub Masquage()

Dim i As Integer, DernLig As Integer
Dim LaFeuille As Worksheet
Dim LaCellule As Range

Set LaFeuille = ThisWorkbook.Worksheets("LeNomDeLaFeuille")
DernLig = LaFeuille.Range("E" & LaFeuille.Rows.Count).End(xlUp).Row

For i = 4 To DernLig
    Set LaCellule = LaFeuille.Range("E" & i)
    If LaCellule = "" Then LaCellule.EntireRow.Hidden = True
Next i

End Sub

Par contre je ne comprend pas, s'il y a un "?" dans une cellule, elle n'est donc pas vide, donc elle ne doit pas être masquée

Sinon tu modifie cette ligne :

If LaCellule = "" Then LaCellule.EntireRow.Hidden = True

Par cette ligne :

If LaCellule = "" Then LaCellule.EntireRow.Hidden = True Else LaCellule.EntireRow.Hidden = False

Bonjour GGautier,

Merci de ton retour si rapide, ton code est plus rapide que mon code de Neandertal pour contre quand j’insère un "?" au lieu d'une date il considère comme mon code que la cellule est vide (je ne veux pas ça).

Et ton code ne ré affiche pas les lignes masqué si modification entre deux

Cordialement

Oups erreur de ma part, les lignes se ré affiche.

Rechercher des sujets similaires à "masquer ligne vide sinon rester afficher"