Masquer lignes vides

  • Initiateur de la discussion Initiateur de la discussion jacky49
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jacky49

XLDnaute Impliqué
Bonsoir le forum,

je me suis récupérer un code qui me servait pour un autre fichier, je l'ai adapter à une feuille de mon Fichier, mais j'aurais voulu l'adapter pour qu'il fonctionne pour toutes les feuilles de mon fichier sans avoir à le recopier autant de fois qu'il y a de feuilles.
voici le code
Code:
Sub yaMasque()
  Dim yaC As Range
  For Each yaC In ThisWorkbook.Sheets("1103").Range("A1:A104")
  ThisWorkbook.Sheets("1103").Unprotect "SERGE"
     If IsEmpty(yaC) Then yaC.EntireRow.Hidden = True
     ThisWorkbook.Sheets("1103").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="SERGE"
  Next
End Sub
merci
jacky
 
Re : Masquer lignes vides

Bonjour

Code:
Sub yaMasque()
  Dim yaC As Range
For each feuille_en_cours in sheets
  For Each yaC In ThisWorkbook.Sheets(feuille_en_cours in).Range("A1:A104")
  ThisWorkbook.Sheets(feuille_en_cours in).Unprotect "SERGE"
     If IsEmpty(yaC) Then yaC.EntireRow.Hidden = True
     ThisWorkbook.Sheets(feuille_en_cours in).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="SERGE"
  Next
next
End Sub

Je n'ai pas testé, mais il me semble que cela devrait marcher

Cordialement
Olivier
 
Re : Masquer lignes vides

Bonsoir


Une autre macro (test OK sur Excel 2000)

Code:
Sub a()
Dim s As Worksheet
Application.ScreenUpdating = False
For Each s In Worksheets
With s
.Activate
On Error Resume Next
.UsedRange.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
Next s
Application.ScreenUpdating = True
End Sub
 
Re : Masquer lignes vides

salut

encore une :
Code:
Sub Cache()
  Dim Sh As Worksheet, Cel As Range
  Application.ScreenUpdating = False
  For Each Sh In Worksheets
    With Sh
      .Unprotect "SERGE"
      For Each Cel In .[A1:A104]
        Cel.EntireRow.Hidden = IsEmpty(Cel)
      Next
      .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="SERGE"
    End With
  Next
  Application.ScreenUpdating = True
End Sub
 
Re : Masquer lignes vides

bonsoir,

j'ai excel 2003 au boulot et 2007 à la maison.
j'ai essayé les codes mais cela ne fonctionne pas.
Odesta , le tien me mets erreur de compilation en me surlgnant yaMasque
Staple1600, le tien me cache tout
Fo_rum, le tien me surligne next

merci
jacky
 
Re : Masquer lignes vides

re

Fo_rum, le tien me surligne next

😕 Voir fichier joint !
Odesta , le tien me mets erreur de compilation en me surlgnant yaMasque
essaie :
Code:
Sub yaMasque()
  Dim yaC As Range, feuille_en_cours As Worksheet
  For Each feuille_en_cours In Sheets
    For Each yaC In feuille_en_cours.Range("A1:A104")
      feuille_en_cours.Unprotect "SERGE"
      If IsEmpty(yaC) Then yaC.EntireRow.Hidden = True
      feuille_en_cours.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="SERGE"
    Next
  Next
End Sub
 

Pièces jointes

Re : Masquer lignes vides

Re Fo um,

ton code fonctionne impeccable, mais je me suis fais mal comprendre, je ne veux pas que le code masque les lignes de toutes les feuilles en même temps, je veux que le code me servent pour toutes les feuilles, mais je mettrais un bouton à chaque feuille et que le code ne servent que pour les feuilles actives(ouvertes).
merci
jacky
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

O
Réponses
3
Affichages
801
  • Question Question
Réponses
6
Affichages
783
Retour