Masquer automatiquement des lignes en fonction d'une celulle
Résolu/Fermé
kikou93
kikou93
- Messages postés
- 417
- Date d'inscription
- mardi 4 février 2014
- Statut
- Membre
- Dernière intervention
- 24 septembre 2018
kikou93
- Messages postés
- 417
- Date d'inscription
- mardi 4 février 2014
- Statut
- Membre
- Dernière intervention
- 24 septembre 2018
A voir également:
- Excel masquer des lignes en fonction de la valeur d'une cellule
- Masquer ligne en fonction de la valeur d'une cellule vba - Meilleures réponses
- Masquer automatiquement des lignes en fonction d'une celulle ✓ - Forum - Excel
- Masquer automatiquement des lignes excel ✓ - Forum - Excel
- Masquer ligne en fonction de la valeur d'une cellule vba ✓ - Forum - Excel
- Excel: Masquer lignes en fonction de critères ✓ - Forum - Excel
- Excel - Masquer certaines lignes en fonction d'une cellule ✓ - Forum - Excel
2 réponses
cs_Le Pivert
4 févr. 2016 à 18:10
- Messages postés
- 7803
- Date d'inscription
- jeudi 13 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 14 août 2022
4 févr. 2016 à 18:10
Bonjour,
A mettre dans la feuille concernée:
A mettre dans la feuille concernée:
Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("G18")) Is Nothing Then Select Case Target.Value Case Is = "" Rows("30:65").EntireRow.Hidden = False 'affiché Rows("31:64").EntireRow.Hidden = True 'masqué Case Is = 0 Rows("30:65").EntireRow.Hidden = False Rows("31:64").EntireRow.Hidden = True Case Is = 1 Rows("30:65").EntireRow.Hidden = False Rows("37:64").EntireRow.Hidden = True Case Is = 2 Rows("30:65").EntireRow.Hidden = False Rows("39:64").EntireRow.Hidden = True 'etc '******************** '************************* 'tu continues à remplir les manquants suivant les exemples Case Is = 14 Rows("30:65").EntireRow.Hidden = False Rows("62:64").EntireRow.Hidden = True Case Is >= 15 Rows("30:65").EntireRow.Hidden = False 'affiché End Select End If End Sub
cs_Le Pivert
6 févr. 2016 à 17:39
- Messages postés
- 7803
- Date d'inscription
- jeudi 13 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 14 août 2022
6 févr. 2016 à 17:39
J'ai été obligé de remettre:
car les lignes ne se mettaient pas à jour!
j'ai aussi changé l'evenement de la feuille par celui-ci:
Mets ceci à la place:
Rows("30:65").EntireRow.Hidden = False 'affiché
car les lignes ne se mettaient pas à jour!
j'ai aussi changé l'evenement de la feuille par celui-ci:
Private Sub Worksheet_Change(ByVal Target As Range)
Mets ceci à la place:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("M29")) Is Nothing Then Select Case Target.Value Case Is = "" Rows("30:65").EntireRow.Hidden = False 'affiché Rows("31:64").EntireRow.Hidden = True 'masqué Case Is = 0 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("31:64").EntireRow.Hidden = True Case Is = 1 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("37:64").EntireRow.Hidden = True Case Is = 2 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("39:64").EntireRow.Hidden = True Case Is = 3 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("41:64").EntireRow.Hidden = True Case Is = 4 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("43:64").EntireRow.Hidden = True Case Is = 5 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("45:64").EntireRow.Hidden = True Case Is = 6 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("47:64").EntireRow.Hidden = True Case Is = 7 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("49:64").EntireRow.Hidden = True Case Is = 8 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("51:64").EntireRow.Hidden = True Case Is = 9 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("53:64").EntireRow.Hidden = True Case Is = 10 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("55:64").EntireRow.Hidden = True Case Is = 11 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("57:64").EntireRow.Hidden = True MsgBox Target.Value Case Is = 12 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("59:64").EntireRow.Hidden = True Case Is = 13 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("61:64").EntireRow.Hidden = True Case Is = 14 Rows("30:65").EntireRow.Hidden = False 'affiché Rows("63:64").EntireRow.Hidden = True Case Is >= 15 Rows("30:65").EntireRow.Hidden = False 'affiché End Select Range("A1").Select End If End Sub
kikou93
6 févr. 2016 à 22:21
- Messages postés
- 417
- Date d'inscription
- mardi 4 février 2014
- Statut
- Membre
- Dernière intervention
- 24 septembre 2018
6 févr. 2016 à 22:21
désolée j'ai pas vu ce poste, j'ai essayé le macro et ça marche très bien merci je te suis reconnaissance de m'avoir aidé
Modifié par kikou93 le 4/02/2016 à 18:55
http://www.cjoint.com/c/FBer1HDKE8H
La valeur de G18 et dans la cellule M29
4 févr. 2016 à 19:57
Voilà l'exemple:
et voilà ce que tu as mis:
et il faut rectifier la cellule G18 par M29
4 févr. 2016 à 21:02
Peut-être que le problème ici :
ça ne changera pas quelle que soit la valeur.
Voici le fichier modifié :
http://www.cjoint.com/c/FBeub4Zm52H
4 févr. 2016 à 23:24
Mais il faut que je reviens à la cellule M29 pour que le changement soit appliqué, aurait-t'il un moyen pour que le changement soit appliqué automatiquement sans avoir l'obligation de revenir à la cellule M29
5 févr. 2016 à 08:04