Afficher et masquer les lignes par des If imbriquer

  • Initiateur de la discussion Initiateur de la discussion Ilino
  • Date de début Date de début

Ilino

XLDnaute Barbatruc
Bonjour Forum
Je souhaiterai un petit ménage du mon code
Mon souci est le suivant :
Dans C38 = Non ou Pas de Jonction toutes les lignes de 40 au 65 doivent être masqué automatiquement ( cela est fait regarder mon code) qlq soit la valeur de la cellule C56
2 eme phase
afficher les lignes de 58 au 67 selon les conditions suivantes
si C56 = OUI et E56 différent de 0
Alors afficher le nombre de ligne saisie dans la E56 (j’ai rajouté 1pour chaque valeur)
Grazie
 

Pièces jointes

Dernière édition:

job75

XLDnaute Barbatruc
Re : Afficher et masquer les lignes par des If imbriquer

Bonjour Ilino,

Place cette macro dans le code de Feuil3 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C38,C56,E56]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Rows("39:66").Hidden = [C38] <> "Oui"
If [C56] <> "Oui" Then Rows("57:66").Hidden = True
If [E56] < 5 Then _
  Rows(67).Offset(2 * [E56] - 10).Resize(10 - 2 * [E56]).Hidden = True
Target.Select 'facultatif
End Sub
A+
 

Ilino

XLDnaute Barbatruc
Re : Afficher et masquer les lignes par des If imbriquer

Bonjour Ilino,

Place cette macro dans le code de Feuil3 :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C38,C56,E56]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Rows("39:66").Hidden = [C38] <> "Oui"
If [C56] <> "Oui" Then Rows("57:66").Hidden = True
If [E56] < 5 Then _
  Rows(67).Offset(2 * [E56] - 10).Resize(10 - 2 * [E56]).Hidden = True
Target.Select 'facultatif
End Sub
A+
Bonsoir JOB
j'ai rajouté ces deux lignes dans ton code

Rows("92:95").Hidden = [C90] <> "Oui"
Rows("92:95").Hidden = [C90] <> "En Cours"

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [C38,C56,E56,C90]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Rows("39:66").Hidden = [C38] <> "Oui"
If [C56] <> "Oui" Then Rows("57:66").Hidden = True
If [E56] < 5 Then _
  Rows(67).Offset(2 * [E56] - 10).Resize(10 - 2 * [E56]).Hidden = True

Rows("92:95").Hidden = [C90] <> "Oui"
Rows("92:95").Hidden = [C90] <> "En Cours"

Target.Select 'facultatif
End Sub
qui veut dire que si C90 = "oui" ou "En cours" afficher les lignes 92 a 95
mais ça n’as pas marché bien ???
 

Ilino

XLDnaute Barbatruc
Re : Afficher et masquer les lignes par des If imbriquer

Bonsoir Forum
Je reviens a vous pour m’expliquer pourquoi ce code ( de notre MAITRE JOB) dans mn cas n’as pas fonctionné
Mon souci est :
Si je sélectionne OUI dans la cellule F170 et je saisie dans la cellule H170 un nombre (entre 1et 5) je dois avoir affiché les lignes (selon le chiffre) de 172 au 181 mais malheureusement ca n’as pas marché :confused:?????
GRAZIE

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F170,H170]) Is Nothing Then Exit Sub

Application.ScreenUpdating = False
If [F170] <> "Oui" Then Rows("172:181").Hidden = True
If [H170] < 5 Then _
  Rows(182).Offset(2 * [H170] - 10).Resize(10 - 2 * [H170]).Hidden = True
End Sub
 

Pièces jointes

Dernière édition:

job75

XLDnaute Barbatruc
Re : Afficher et masquer les lignes par des If imbriquer

Bonsoir Ilino :)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F170,H170]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Rows("172:181").Hidden = [F170] <> "Oui"
If [H170] < 5 Then _
  Rows(182).Offset(2 * [H170] - 10).Resize(10 - 2 * [H170]).Hidden = True
End Sub
A+
 

Discussions similaires

Réponses
4
Affichages
908

Statistiques des forums

Discussions
315 294
Messages
2 118 144
Membres
113 436
dernier inscrit
LAROQUE