Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro qui supprime les lignes masquées, ne le fait pas complétement...

  • Initiateur de la discussion Initiateur de la discussion Douane
  • 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 !

Douane

XLDnaute Nouveau
Bonjour,

J'ai trouvé une macro sur le forum pour effacer les lignes masquées. Elle fonctionne parfaitement sauf sur un point.
Quand les lignes masquées se trouvent à la fin du document, soit juste après des lignes non masquées contenant du texte elles ne sont pas supprimées.

Une idée ?

Merci beaucoup !

Code:
Sheets("REG V").Select
'
Dim x As Integer
Dim maligne As Integer
maligne = Range("A65536").End(xlUp).Row

For x = maligne To 1 Step -1
If Rows(x).Hidden = True Then Rows(x).Delete
Next
 
Re : Macro qui supprime les lignes masquées, ne le fait pas complétement...

Bonjour Douane,

si tu estimes ( +/- 20 lignes) le nombre de lignes cachées qui se trouvent derrière la dernière ligne vivible alors
Code:
maligne = Range("A65536").End(xlUp).Row [COLOR="Blue"][B]+ 20 [/B][/COLOR]
 
Re : Macro qui supprime les lignes masquées, ne le fait pas complétement...

Je reviens à la charge avec cette macro. J'aimerais à présent qu'elle s'exécute sur la totalité des feuilles du classeur. Malheuresement elle ne le fait que sur la première... Ou est-ce ça pêche ?

Code:
Dim WS_Count As Integer
            Dim I As Integer
            Dim x As Integer
            Dim maligne As Integer
         ' Set WS_Count equal to the number of worksheets in the active
         ' workbook.
         WS_Count = ActiveWorkbook.Worksheets.Count

         ' Begin the loop.
         For I = 1 To WS_Count

            

maligne = Range("A65536").End(xlUp).Row + 50

For x = maligne To 1 Step -1
If Rows(x).Hidden = True Then Rows(x).Delete
Next
        
            
            MsgBox ActiveWorkbook.Worksheets(I).Name

         Next I

Un grand merci et une bonne soirée


Edit : En rajoutant
Code:
Worksheets(I).Activate
avant le deuxième for ça semble fonctionner !
 
Dernière édition:
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…