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

XL 2019 Lier l'affichage de deux feuilles d'excel différentes

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 !

payet007008009

XLDnaute Nouveau
Bonjour à tous,

Je dois générer plusieurs documents qui correspondent au tableau 1 et 2 de la feuille Excel.
Suivant les documents à générer, je peux être amener à masquer des lignes ( je ne veux pas les supprimer) inutiles dans le tableau 2.
Je souhaiterais que le "masquage" d'un poste du tableau 2 entraine le " masquage " des lignes correspondantes dans le tableau 1.
Je n'ai pas besoin de modifier l'incrémentation suite aux masquages d'un poste ( heureusement d'ailleurs, cela aurait été un peu plus compliqué)


Existe-t-il des macros ou une fonction sur excel pour cela ?
Je ne vous ai présenter que quelques lignes mais les fiches réels présentent plus de 200 lignes pour le tableau 2 et plus du double pour le tableau 1 . Cela rend très fastidieux le travail de masquage dans ce cas.

Je remercie d'avance ceux qui pourront m'orienter vers une solution.

Cordialement
 

Pièces jointes

Bonsoir Payet,
Un essai en PJ avec la macro ci dessous.
La règle : Quand on veut masquer un poste on clique dans la colonne A sur le N° du poste.
Un message demande confirmation. Si confirmation on masque le poste dans les deux onglets.
Rien n'est prévu pour le démasquage.
Par sécurité j'arrête à la ligne 1000 le masquage. ( en particulier quand on clique sur le poste 5.6, et que la macro cherche le poste suivant ... ça pourrait durer longtemps )

A tester pour voir si le mécanisme vous sied.

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then                  ' Arbitrairement limité à 100 lignes
        Application.ScreenUpdating = False
        If Target = "" Then Exit Sub                                            ' si cellule vide on sort
            Poste = Target                                                      ' récupération du poste cliqué
            If MsgBox("Voulez vous vraiment masquer le poste " & Poste & Chr(10) & _
                    " de l'onglet TAB_1 ?", vbYesNo, "Demande de masquage") = vbYes Then    ' Message de confirmation
                Sheets("TAB_2").Cells(Target.Row, 1).EntireRow.Hidden = True    ' on masque la ligne dans TAB_2
                i = 3                                                           ' indice de lecture dans TAB_1
                While Sheets("TAB_1").Cells(i, 1) <> Poste                      ' tant que Poste cliqué non trouvé on boucle
                    i = i + 1
                    If i > 1000 Then Exit Sub                                   ' on limite à 1000 lignes si Erreur
                Wend
                Sheets("TAB_1").Cells(i, 1).EntireRow.Hidden = True             ' on masque la ligne où Poste est trouvé
                i = i + 1
                While Sheets("TAB_1").Cells(i, 1) = ""                          ' on boucle jusqu'à qu'un nouveau poste apparait
                    Sheets("TAB_1").Cells(i, 1).EntireRow.Hidden = True
                    i = i + 1
                    If i > 1000 Then Exit Sub                                   ' Gestion Erreur
                Wend
            End If
    End If
Fin:
End Sub
 

Pièces jointes

- 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…