poipoi
XLDnaute Impliqué
Bonjour à vous
afin de simplifier ce code qui est fait de lignes redondantes car je suis nul en VBA
Pouvez-vous me dire comment le simplifier car je bloque (et vu le nombre de lignes à masquer ça risque de faire lourd):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [e8]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
If Not Intersect(Target, [e21]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
If Not Intersect(Target, [e29]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
Call Masqu_lignes
End Sub
Sub Masqu_lignes()
If Range("e8").Value = "" Then Rows("10:19").Hidden = True Else Rows("10:19").Hidden = False
If Range("e21").Value = "" Then Rows("23:27").Hidden = True Else Rows("23:27").Hidden = False
If Range("e29").Value = "" Then Rows("31").Hidden = True Else Rows("31").Hidden = False
End Sub
un bien grand merci
afin de simplifier ce code qui est fait de lignes redondantes car je suis nul en VBA
Pouvez-vous me dire comment le simplifier car je bloque (et vu le nombre de lignes à masquer ça risque de faire lourd):
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [e8]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
If Not Intersect(Target, [e21]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
If Not Intersect(Target, [e29]) Is Nothing Then
Application.EnableEvents = False
If Target <> "x" Then Target = ""
Application.EnableEvents = True
End If
Call Masqu_lignes
End Sub
Sub Masqu_lignes()
If Range("e8").Value = "" Then Rows("10:19").Hidden = True Else Rows("10:19").Hidden = False
If Range("e21").Value = "" Then Rows("23:27").Hidden = True Else Rows("23:27").Hidden = False
If Range("e29").Value = "" Then Rows("31").Hidden = True Else Rows("31").Hidden = False
End Sub
un bien grand merci