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

Masquage/affichage lignes

drop91

XLDnaute Junior
Bonjour,
Voici mon problème :
sur mon fichier excel j'ai une feuille nommé "parametres" ou se trouve une liste de noms agentxx
ce que je recherche c'est lorsque j'efface un nom de la plage (a5-a22) de la feuille parametres,
la ligne de l'agent soit masquée sur la feuil1 & feuil2 seulement.


Merci d'avance pour vos infos
 

Pièces jointes

  • Classeur1.xls
    19.5 KB · Affichages: 58
  • Classeur1.xls
    19.5 KB · Affichages: 56
  • Classeur1.xls
    19.5 KB · Affichages: 63

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Bonjour, drop91, le Forum,

En attendant mieux... une suggestion avec ce code.

Code:
Option Explicit
Sub Supprimer_masquer()
    Dim toto
    Dim c As Range
    With Application: .ScreenUpdating = False: .EnableEvents = False: End With
        toto = Selection
        With Sheets("Feuil1")
            Set c = .Columns(1).Find(toto)
            If Not c Is Nothing Then c.Offset(, 26) = 1: c.EntireRow.Hidden = True: c.Offset(, 26) = "":
        End With
        With Sheets("Feuil2")
            Set c = .Columns(1).Find(toto)
            If Not c Is Nothing Then c.Offset(, 26) = 1: c.EntireRow.Hidden = True: c.Offset(, 26) = "":
        End With
        Selection = ""
        With Application: .EnableEvents = True: .ScreenUpdating = True: End With
End Sub

Attention : ne pas supprimer la valeur d'une cellule autrement que par bouton.

A bientôt
 

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Re-bonjour,

Un nouveau code obligeant l'utilisateur à utiliser le bouton :

Code:
Option Explicit
Sub Supprimer_masquer()
    Dim toto
    Dim c As Range
    With Application: .ScreenUpdating = False: End With
        Sheets("Parametres").Unprotect Password:=""
        toto = Selection
        With Sheets("Feuil1")
            Set c = .Columns(1).Find(toto)
            If Not c Is Nothing Then c.Offset(, 26) = 1: c.EntireRow.Hidden = True: c.Offset(, 26) = "":
        End With
        With Sheets("Feuil2")
            Set c = .Columns(1).Find(toto)
            If Not c Is Nothing Then c.Offset(, 26) = 1: c.EntireRow.Hidden = True: c.Offset(, 26) = "":
        End With
        Selection = ""
        Sheets("Parametres").Protect Password:=""
    With Application: .ScreenUpdating = True: End With
End Sub

A bientôt
 

Pièces jointes

  • 00 - drop91 - Supprimer_masquer.xls
    71.5 KB · Affichages: 42

drop91

XLDnaute Junior
Re : Masquage/affichage lignes

Bonjour, tout d'abord merci pour la réponse,
c'est bien ce qu'il me faut sauf que je n'ai pas la possibilité de remettre un autre nom dans les cellules vide (donc de remettre la ligne sur feuil1 & feuil2).
C'est un oubli de ma part sur les précisions, je m'en excuse. Y a t'il un moyen de le faire, merci.
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Re-bonjour,

... c'est bien ce qu'il me faut sauf que je n'ai pas la possibilité de remettre un autre nom dans les cellules vide (donc de remettre la ligne sur feuil1 & feuil2)... Y a t'il un moyen de le faire...

Je crains de ne pas comprendre.

Une valeur de l'onglet "Parametres" est effacée : la ligne de chaque onglet ("Feuil1" et "Feuil2") comportant ladite valeur est masquée (ce que font les codes des #2 et #3).

La valeur est effacée avant d'être remplacée par une autre : qu'advient-il, alors, des valeurs mentionnées en onglets "Feuil1" et "Feuil2" ?

A bientôt
 

drop91

XLDnaute Junior
Re : Masquage/affichage lignes

En fait il s'agit de gérer la présence d'apprentis, pendant 6 mois ils sont 18, pendant ces 6 mois quelque uns s'en vont d'autre
Restent, puis il y a de nouveau arrivant qui remplacent Les anciens.
Au final avec la feuille paramètres, je voudrais Inséré des apprentis ou les enlevé, et le résultat du masquage ne se fera que sur
La feuil1 & feuil2, j'espère avoir été plus clair.
Vous remerciant de votre patience
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Re-bonjour,

Je ne comprends pas davantage ! D'autres membres d'XLD, peut-être .

Si "Agent 1" est supprimé de A5, onglet "Parametres" : la ligne correspondant à "Agent 1", dans les deux autres onglets est masquée.

Si "Agent 1" est remplacé par "toto" dans l'onglet "Parametres" : que faut-il faire de "Agent 1", dans les deux autres onglets ? Remplacer la valeur "Agent 1" par la valeur "toto" ?

A bientôt
 

drop91

XLDnaute Junior
Re : Masquage/affichage lignes

en fait dans la feuil1 et feuil2 je recopie ce qu'il y a dans la feuille parametres, si agent5 s'en va, j'efface agent5 sur A9 je masque la ligne A9 sur feuil1 & feuil2.
Si par la suite j'ai "toto" qui arrive j'inscris toto sur A9 de la feuille parametres, et toto apparait sur la ligne A9 de feuil1 & feuil2 donc s'il n'y a pas de nom sur une ligne je masque, si j'inscris un nom je démasque.
voila merci.
 

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Re-bonjour,

Une nouvelle tentative avec ce code :

VB:
Option Explicit
Sub Mettre_à_jour_masquer_si()
    Dim o As Worksheet, i As Long
    Application.ScreenUpdating = False
    Sheets("Parametres").Range("a5:a22").Copy Destination:=Sheets("Feuil1").Range("a5")
    Sheets("Parametres").Range("a5:a22").Copy Destination:=Sheets("Feuil2").Range("a5")
    For Each o In Worksheets
        If o.Name <> "Parametres" Then
            For i = Cells(Rows.Count, "a").End(xlUp).Row To 5 Step -1
                If Range("a" & i) <> "" Then  o.Rows(i).EntireRow.Hidden = False Else: o.Rows(i).EntireRow.Hidden =  True
            Next
        End If
    Next
    Application.ScreenUpdating = False
End Sub

A bientôt
 

Pièces jointes

  • 00 - drop91 - Supprimer_masquer V2.xls
    76 KB · Affichages: 41

drop91

XLDnaute Junior
Re : Masquage/affichage lignes

Super, c'est exactement ce que j'attendais, par contre lors de la création du fichier j'ai un problème de débordement de la plage de sélection (voir fichier joint).
j'ai repris votre fichier puis j'applique mes données, par contre j'ai un débordement sur les cellules A23-A30 les valeurs vide ou remplis sont pris en compte et retransmis sur feuil1 & feuil2 malgré que la plage de sélection soit seulement de A5-A22.
pourtant je n'ai pas rajouté d'autres formules, et je ne vois pas ou est le problème.

En tout cas merci beaucoup.
 

Pièces jointes

  • Copie de 00 - drop91 - Supprimer_masquer V3.xls
    88.5 KB · Affichages: 44

DoubleZero

XLDnaute Barbatruc
Re : Masquage/affichage lignes

Bonjour, drop91, le Forum,

Le problème de débordement est dû au fichier déposé en #1, lequel ne comportait aucune valeur en dessous de A22.

Or, la disposition des données du fichier déposé en #10 est différente.

Ci-après, une nouvelle version, avec macro événementielle (le bouton, devenant inutile, est supprimé) et prise en considération des nouvelles informations.

A bientôt
 

Pièces jointes

  • 00 - drop91 - Supprimer_masquer V3.xls
    85.5 KB · Affichages: 38
Dernière édition:

Discussions similaires

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