Afficher toutes les lignes sauf celles se retrouvant dans des tableaux

Bonjour cher Forum!

J'ai une feuille Excel nommée "TAKE-OFF DU PROJET" dont il s'y retrouve plusieurs tableaux. Lors de l'enregistrement en pdf de la feuille, il valide tout d'abord s'il reste des lignes vides dont il va les supprimer, mais aussi il va valider si des tableaux ne comporte aucune information (il va masquer les tableaux) ou si la case Calcule de chaque tableau est inscrit Non (il va également masquer les tableaux). à la fin de l'enregistrement en format pdf, il affiche toutes les lignes qui ont été masquées.

Le problème est que parfois on peut filtrer les tableaux afin de n'afficher que quelques informations et quand on enregistre en format pdf bien toutes les lignes s'affiche.

J'aimerais savoir s'il y a moyen qu'il ne réaffiche que les lignes masqués, tous en conservant les filtres des tableaux de leurs propres lignes masquées? Je vous joints le fichier.

Merci de votre aide!

bonjour CeDL,

donc il y a des lignes visibles que vous voulez cacher en plus, puis exporter vers un PDF et puis montrer de nouveau ces lignes cachées sans toucher les filtres. C'est çà ?

La macro suivante utilise la colonne AA pour son truc. Elle met des "x" dans les lignes à cacher (conditions ici = la ligne est visible et le numéro de la ligne est paire, mais vous devez remplacer cette 2eme condition par la vôtre). Puis elle cache toutes les lignes "x", vous créez votre pdf, montrez de nouveau les lignes "x" et supprimer la colonne AA

Sub Cacher()
     Dim aA
     With Sheets("take-off du projet")
          Set c = Intersect(.UsedRange.EntireRow, .Columns("AA"))     'colonne AA = colonne auxliaire
          ReDim aA(1 To c.Rows.Count, 1 To 1)     'préparer une matrice
          For I = 1 To c.Rows.Count          'boucler la plage
               If c.Cells(I, 1).EntireRow.Hidden = False And c.Cells(I, 1).Row Mod 2 = 0 Then aA(I, 1) = "x"     'la ligne est visible et on a une raison pour cacher cette ligne  >>> "x"
          Next

          .Unprotect Password:="R51905989inf"     'enlever la protection
          c.Value = aA                       'coller la matrice
          If WorksheetFunction.CountA(c) > 0 Then     's'il y a des "x"
               c.SpecialCells(xlConstants).EntireRow.Hidden = True     'cacher les lignes "x"
               MsgBox "maintenant exporter votre pdf"
               c.SpecialCells(xlConstants).EntireRow.Hidden = False     'remontrer les lignes "x"
          End If
          c.ClearContents                    'supprimer la plage
          .Protect Password:="R51905989inf"  'remettre la protection

     End With
End Sub

Merci BsAlv! J'ai pu adapter le code et ça fonctionne très bien!

Rechercher des sujets similaires à "afficher toutes lignes sauf celles retrouvant tableaux"