Macro masque ligne si cellule vide sur l'ensemble des onglets

Résolu
Bonjour,

Je souhaite crée une macro qui masque mes lignes si mes cellules sont vide.
Je souhaite également que cette macro fonctionne pour l'ensemble de mes onglets.
le but étant de crée un bouton " Hide" qui ferait fonctionner la macro pour l'ensemble de mes onglets.

Voici la macro que j'ai trouvé sur ce forum qui fonctionne tres bien :
Sub hide()
Range("C10:C129").Select 'C10:C129 correspond a ta plage de cellule que tu souhaite verifier
For Each o In Selection
If o.Value = "" Then
o.EntireRow.Hidden = True
End If
Next

End Sub

Au risque de me répéter cette macro ne fonctionne que si je selectionne 1 onglet. Je souhaite qu'elle marche pour l'ensemble de mes onglets ( quelque soit le nom de l'onglet) sauf les 3 premier onglet.
cela est t'il possible ?

Merci beaucoup pour votre aide !

3 réponses

  1. Contributeur
    Bonjour,
    essaye..
    Sub CacheLigne()
    
    Dim TB, i As Integer, Cel As Range, B As Boolean
    Dim Wkb As Worksheet
    'Le nom des feuilles qu'il ne faut pas traiter
    TB = Array("Feuil1", "Feuil2", "Feuil3")
    For Each Wkb In Worksheets
    B = False
    For i = 0 To 2
    If Wkb.Name = TB(i) Then B = True: Exit For
    Next i
    If Not B Then
    For Each Cel In Wkb.Range("C10:C" & Range("C" & Rows.Count).End(xlUp).Row)
    If Cel.Value = "" Then
    Cel.EntireRow.Hidden = True
    End If
    Next Cel
    End If
    Next Wkb
    End Sub

    A+
    0
    1. Contributeur
      Bonjour,

      excusez l'incruste :o)
      On peut éviter une boucle pour cacher les cellules vides dans la colonne c

      Derlig = Columns("A").Find("*", , , , , xlPrevious).Row
      
      On Error Resume Next
      Range("C2:C" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

      remarque:
      1/le repérage de la dernière ligne est sur la colonne A (supposée être la colonne de référence) car si la ou les dernières de la colonne C sont vides, ces lignes ne seront pas cachées...
      2/ le "error resume next" est nécessaire pour éviter un blocage sur erreur si il n'y a aucune cellule vide
      Michel
      0
      1. Merci beaucoup à vous deux, cela marche super bien ( et c'est très rapide ! )
        0