Comment masquer les lignes inutiles

konate.abdoul

XLDnaute Nouveau
j'ai une colonne dans laquelle est listée une série de questions classées par catégorie. Pour le remplissage, je voudrais que celui qui répond aux question sélectionne seulement la catégorie qui l'interresse à partir d'un bouton automatique situé à la première ligne.
Exemple: celui qui veut répondre aux questions sur les ressources humaines (ligne 52 à ligne 90), en cliquant sur le bouton ressources humaines à la première ligne, toutes les autres lignes c'est à dire les lignes 2 à 51 et les lignes 91 à 275 sont masquées automatiquement.
Merci de votre aide.
 

Pièces jointes

  • Questions aux hopitaux.xlsm
    13.8 KB · Affichages: 81
  • Questions aux hopitaux.xlsm
    13.8 KB · Affichages: 76
  • Questions aux hopitaux.xlsm
    13.8 KB · Affichages: 76

Victor21

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Bonsoir, konate.abdoul.

Une colonne supplémentaire, masquée, avec un filtre ?



Edit : Bonsoir, mth : 4 petites minutes ... pfff ! :)
 

Pièces jointes

  • Hopitaux.xls
    67 KB · Affichages: 87
Dernière édition:

mth

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Bonsoir,

Sans macro avec un simple filtre peut-être ?

Vois dans le fichier joint si cela peut convenir

Bonne soirée,

mth

Edit: :) bonsoir Victor21, même idée, mais en beaucoup beaucoup plus lent :)
Bonne soirée,
m
 

Pièces jointes

  • Questions%20aux%20hopitaux(1).xlsm
    14.9 KB · Affichages: 78

Papou-net

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Bonsoir à tous,

Re konate.abdoul,

Pour répondre dans la continuité de ton fichier, voici les macros attachées aux boutons de commande.

Tu remarqueras que j'ai ajouté un 4ème bouton pour restaurer l'affichage complet de la feuille le cas échéant.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

  • Copie de Questions aux hopitaux.xlsm
    20.5 KB · Affichages: 96

hoerwind

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Bonjour et bienvenue sur le forum, salut les autres,

Grouper et créer un plan (menu Données) répond à la demande sans macro, voir la pièce jointe.

Un clic sur le "+" dans la marge de gauche ouvre la section, un clic sur le "-" la ferme.
 

Pièces jointes

  • QuestionsAuxHopitaux.xlsm
    14 KB · Affichages: 75

konate.abdoul

XLDnaute Nouveau
Re : Comment masquer les lignes inutiles

Bonsoir chers tous et merci encore pour votre aide.

Grâce à vous je suis sur la bonne voie. Dans ce fichier que je vais joindre chaque bouton situé à la ligne 2 (colonne B à I) correspond a une catégorie. Après votre aide j'ai réussi a faire en sorte que quand je clique sur Exemple démographie la colonne affiche exactement les lignes concernées uniquement, donc cette étape marche. Mais le problème est que je suis obligé de cliqué à nouveau sur démographie pour afficher toutes les lignes avant de cliquer sur épidémiologie pour afficher uniquement les lignes qui lui correspondent sinon ça fonctionne pas.
Merci pour votre disponibilité
 

Pièces jointes

  • macro à verifier.xlsm
    183.1 KB · Affichages: 78

mth

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

re :)

Oui, je voulais dire par là que dans la fenêtre visual basic il n'y a aucune macro, tu as dû les effacer en déposant ton fichier, du coup on ne sait pas quoi vérifier.

Bonne soirée,

mth
 

job75

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Bonjour konate.abdoul, le fil, le forum,

Une seule macro suffit pour les 7 boutons :

Code:
Sub AfficheProcessus()
On Error Resume Next
If InStr(Application.Caller, "Processus") = 0 Then Exit Sub
Dim Nom As Name, numero As Long, NomPlage As String
On Error GoTo 0
Application.ScreenUpdating = False
'---masquage de tous les Processus nommés---
For Each Nom In ThisWorkbook.Names
If InStr(Nom.Name, "Processus_") Then _
  Range(Nom.Name).EntireRow.Hidden = True
Next
'---affichage de la plage du bouton---
numero = Val(Split(Application.Caller, "Processus")(1))
NomPlage = "Processus_" & numero
Range(NomPlage).EntireRow.Hidden = False
End Sub
Les plages correspondant à chaque bouton sont nommées Processus_1 Processus_2 etc...

Nota : pour tester téléchargez d'abord le fichier sur le bureau...

Edit : je joins aussi la version (1bis) qui utilise la fonction Like à la place de InStr

A+
 

Pièces jointes

  • Affiche Processus(1).xls
    197 KB · Affichages: 82
  • Affiche Processus(1bis).xls
    197.5 KB · Affichages: 80
Dernière édition:

job75

XLDnaute Barbatruc
Re : Comment masquer les lignes inutiles

Re,

Un bouton supplémentaire pour afficher tout, et une légère modification :

Code:
Sub AfficheProcessus()
On Error Resume Next
If Not Application.Caller Like "*Processus*" Then _
  Rows.Hidden = False: Exit Sub
Dim Nom As Name, numero As Long, NomPlage As String
On Error GoTo 0
Application.ScreenUpdating = False
'---masquage de tous les Processus nommés---
For Each Nom In ThisWorkbook.Names
  If Nom.Name Like "*Processus_*" Then _
    Range(Nom.Name).EntireRow.Hidden = True
Next
'---affichage de la plage du bouton---
numero = Val(Split(Application.Caller, "Processus")(1))
NomPlage = "Processus_" & numero
Range(NomPlage).EntireRow.Hidden = False
End Sub
A+
 

Pièces jointes

  • Affiche Processus(2).xls
    200 KB · Affichages: 99

konate.abdoul

XLDnaute Nouveau
Re : Comment masquer les lignes inutiles

bonjour job75, merci, ton dernier code est ce que je cherchais exactement. merci infiniment. Maintenant je veux insérer ce code dans mon classeur qui comporte déjà d'autre feuille. J'ai copié collé le code dans visual basic de mon classeur ça ne marche pas. j'ai essayé d'affecter à chaque bouton la macro afficheprocessus mais ça affiche erreur 1004. Que dois faire alors pour insérer ton code dans mon classeur pour que ça fonctionnent et sans que ça ne garde de lien avec le fichier que tu m'as envoyé.
Excuz pour le dérangement je suis un débutant.
 

Discussions similaires

Statistiques des forums

Discussions
312 753
Messages
2 091 676
Membres
105 043
dernier inscrit
Gum110