Masquage de ligne depuis une autre feuille

Bonjour à tous

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 !!!

30echeancier1.zip (14.78 Ko)

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 !!!!!!

Rechercher des sujets similaires à "masquage ligne feuille"