Masquage de ligne depuis une autre feuille
j'aurais besoin d'un petit éclaircissement concernant un tableau que je suis en train de développer.
A la base, les choix et l'échéancier se trouvaient sur la même feuille. J'ai par la pensé à faire l'ensemble des choix sur la première feuille et ensuite voir l'échéancier sur la deuxième suivant les choix validés.
Pour la formule j'ai inscris (grâce au forum) à la base le code suivant qui marchait très bien:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C10")) Is Nothing Then
Columns("J").Hidden = IIf(Target = "Non soumis", True, False)
ElseIf Not Intersect(Target, Range("E10")) Is Nothing Then
Columns("K").Hidden = IIf(Target = "Pas de paies", True, False)
ElseIf Not Intersect(Target, Range("G6")) Is Nothing Then
Columns("I").Hidden = IIf(Target <> "IS", True, False)
ElseIf Not Intersect(Target, Range("E11")) Is Nothing Then
Columns("L").Hidden = IIf(Target = "Pas de paies", True, False)
ElseIf Not Intersect(Target, Range("E12")) Is Nothing Then
Columns("M").Hidden = IIf(Target = "Non soumis", True, False)
ElseIf Not Intersect(Target, Range("E13")) Is Nothing Then
Columns("N").Hidden = IIf(Target = "Non", True, False)
ElseIf Not Intersect(Target, Range("G12")) Is Nothing Then
Columns("Q").Hidden = IIf(Target = "Non", True, False)
ElseIf Not Intersect(Target, Range("G10")) Is Nothing Then
Columns("O:P").Hidden = IIf(Target = "Non", True, False)
End If
End Sub
cependant pour faire mon choix depuis la première feuille j'ai inscris ce code qui ne marche pas
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [b]Sheets("Caracteristiques").[/b]Range("C10")) Is Nothing Then
Columns("J").Hidden = IIf(Target = "Non soumis", True, False)
'.....
End If
End Sub
quelqu'un pourrait m'aider afin de pouvoir faire mon choix depuis la feuille 1?
Vous trouverez le fichier en pièce-jointe,
Vous en remerciant d'avance,
jj !!!
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$C$10" Then
Sheets("Echéancier").Columns("J").Hidden = IIf(Target = "Non soumis", True, False)
'.....
End If
End Sub
A+
Bonjour
Bonjour frangy
Copies cette macro dans le module de la feuille "Caractéristiques"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
With Sheets("Echéancier")
If Not Intersect(Target, Range("C10")) Is Nothing Then
.Columns("J").Hidden = IIf(Target = "Non soumis", True, False)
ElseIf Not Intersect(Target, Range("E10")) Is Nothing Then
.Columns("K").Hidden = IIf(Target = "Pas de paies", True, False)
ElseIf Not Intersect(Target, Range("G6")) Is Nothing Then
.Columns("I").Hidden = IIf(Target <> "IS", True, False)
ElseIf Not Intersect(Target, Range("E11")) Is Nothing Then
.Columns("L").Hidden = IIf(Target = "Pas de paies", True, False)
ElseIf Not Intersect(Target, Range("E12")) Is Nothing Then
.Columns("M").Hidden = IIf(Target = "Non soumis", True, False)
ElseIf Not Intersect(Target, Range("E13")) Is Nothing Then
.Columns("N").Hidden = IIf(Target = "Non", True, False)
ElseIf Not Intersect(Target, Range("G12")) Is Nothing Then
.Columns("Q").Hidden = IIf(Target = "Non", True, False)
ElseIf Not Intersect(Target, Range("G10")) Is Nothing Then
.Columns("O:P").Hidden = IIf(Target = "Non", True, False)
End If
End With
End Sub
Le code marche à merveille !!!!! merci beaucoup pour ton aide !!!!!!