Bonjour,
j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
"IR" et "BA IR".
Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
"IS".
pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
------
Private Sub worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
Target.Value = UCase(CStr(Target.Value))
Application.ScreenUpdating = False
If Target.Address <> "$G$40" Then Exit Sub
If Target = "IS" Or Target = "SCA" Then
Sheets("80_21").Visible = True
Sheets("80_11").Visible = False
ElseIf Target = "IR" Or Target = "BA IR" Then
Sheets("80_11").Visible = True
Sheets("80_21").Visible = False
Else
Sheets("80_21").Visible = False
Sheets("80_11").Visible = False
End If
End Sub
-------
Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
?
(moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
80_21.
Merci
-------
Sub CYCLE80()
Application.ScreenUpdating = False
For Each F In ActiveWorkbook.Sheets
If F.Name <> "DA" Then F.Visible = False
Next
Sheets("80").Visible = True
Sheets("80_41").Visible = True
On Error Resume Next
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
Sheets("DA").Select
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
Sheets("DA").Select
Sheets("80").Activate
End Sub
--------
Bonjour,
j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
"IR" et "BA IR".
Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
"IS".
pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
------
Private Sub worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
Target.Value = UCase(CStr(Target.Value))
Application.ScreenUpdating = False
If Target.Address <> "$G$40" Then Exit Sub
If Target = "IS" Or Target = "SCA" Then
Sheets("80_21").Visible = True
Sheets("80_11").Visible = False
ElseIf Target = "IR" Or Target = "BA IR" Then
Sheets("80_11").Visible = True
Sheets("80_21").Visible = False
Else
Sheets("80_21").Visible = False
Sheets("80_11").Visible = False
End If
End Sub
-------
Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
?
(moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
80_21.
Merci
-------
Sub CYCLE80()
Application.ScreenUpdating = False
For Each F In ActiveWorkbook.Sheets
If F.Name <> "DA" Then F.Visible = False
Next
Sheets("80").Visible = True
Sheets("80_41").Visible = True
On Error Resume Next
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
Sheets("DA").Select
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
Sheets("DA").Select
Sheets("80").Activate
End Sub
--------
Bonjour,
j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
"IR" et "BA IR".
Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
"IS".
pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
------
Private Sub worksheet_change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
Target.Value = UCase(CStr(Target.Value))
Application.ScreenUpdating = False
If Target.Address <> "$G$40" Then Exit Sub
If Target = "IS" Or Target = "SCA" Then
Sheets("80_21").Visible = True
Sheets("80_11").Visible = False
ElseIf Target = "IR" Or Target = "BA IR" Then
Sheets("80_11").Visible = True
Sheets("80_21").Visible = False
Else
Sheets("80_21").Visible = False
Sheets("80_11").Visible = False
End If
End Sub
-------
Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
?
(moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
80_21.
Merci
-------
Sub CYCLE80()
Application.ScreenUpdating = False
For Each F In ActiveWorkbook.Sheets
If F.Name <> "DA" Then F.Visible = False
Next
Sheets("80").Visible = True
Sheets("80_41").Visible = True
On Error Resume Next
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
Sheets("DA").Select
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
Sheets("DA").Select
Sheets("80").Activate
End Sub
--------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
jpmonnier-nospam@neuf.fr
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:03D379E5-57A6-4369-AB97-589D03AF5111@microsoft.com...
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
jpmonnier-nospam@neuf.fr
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:03D379E5-57A6-4369-AB97-589D03AF5111@microsoft.com...
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12 si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche, pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
Donc, si je comprend bien, il faut que je fasse le test, non pas en
Private
sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
"JPMonnier" a écrit :RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
> "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
> si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
> ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
> pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
Donc, si je comprend bien, il faut que je fasse le test, non pas en
Private
sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
"JPMonnier" a écrit :
RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
jpmonnier-nospam@neuf.fr
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:03D379E5-57A6-4369-AB97-589D03AF5111@microsoft.com...
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
> "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
> si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
> ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
> pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
Donc, si je comprend bien, il faut que je fasse le test, non pas en
Private
sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
"JPMonnier" a écrit :RE
dans Sub CYCLE80
tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
visibles donc :
If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
Else
est forcément non visible ainsi que la ligne suivante
If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
Else
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Bonjour,
> j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
> "IS",
> "IR" et "BA IR".
> Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
> si
> "IS".
> pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
> ------
> Private Sub worksheet_change(ByVal Target As Range)
> If Target.Count > 1 Then Exit Sub
> If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
> Target.Value = UCase(CStr(Target.Value))
> Application.ScreenUpdating = False
> If Target.Address <> "$G$40" Then Exit Sub
> If Target = "IS" Or Target = "SCA" Then
> Sheets("80_21").Visible = True
> Sheets("80_11").Visible = False
> ElseIf Target = "IR" Or Target = "BA IR" Then
> Sheets("80_11").Visible = True
> Sheets("80_21").Visible = False
> Else
> Sheets("80_21").Visible = False
> Sheets("80_11").Visible = False
> End If
> End Sub
> -------
> Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
> ou
> non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
> suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
> pourquoi
> ?
> (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
> 80_21.
> Merci
> -------
> Sub CYCLE80()
> Application.ScreenUpdating = False
> For Each F In ActiveWorkbook.Sheets
> If F.Name <> "DA" Then F.Visible = False
> Next
> Sheets("80").Visible = True
> Sheets("80_41").Visible = True
> On Error Resume Next
> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
> Else
> Sheets("DA").Select
> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
> Else
> Sheets("DA").Select
> Sheets("80").Activate
> End Sub
> --------
Oui tu peux essayer
--
Cordialement
Oui tu peux essayer
--
Cordialement
jpmonnier-nospam@neuf.fr
Oui tu peux essayer
--
Cordialement
Oui tu peux essayer
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Donc, si je comprend bien, il faut que je fasse le test, non pas en
> Private
> sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
>
> "JPMonnier" a écrit :
>
>> RE
>> dans Sub CYCLE80
>> tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
>> visibles donc :
>> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> Else
>> est forcément non visible ainsi que la ligne suivante
>> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> Else
>> --
>> Cordialement
>>
>>
>> "Sunburn" a écrit dans le message de
>> news:
>> > Bonjour,
>> > j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
>> > "IS",
>> > "IR" et "BA IR".
>> > Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
>> > si
>> > "IS".
>> > pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
>> > ------
>> > Private Sub worksheet_change(ByVal Target As Range)
>> > If Target.Count > 1 Then Exit Sub
>> > If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
>> > Target.Value = UCase(CStr(Target.Value))
>> > Application.ScreenUpdating = False
>> > If Target.Address <> "$G$40" Then Exit Sub
>> > If Target = "IS" Or Target = "SCA" Then
>> > Sheets("80_21").Visible = True
>> > Sheets("80_11").Visible = False
>> > ElseIf Target = "IR" Or Target = "BA IR" Then
>> > Sheets("80_11").Visible = True
>> > Sheets("80_21").Visible = False
>> > Else
>> > Sheets("80_21").Visible = False
>> > Sheets("80_11").Visible = False
>> > End If
>> > End Sub
>> > -------
>> > Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
>> > ou
>> > non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
>> > suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
>> > pourquoi
>> > ?
>> > (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
>> > 80_21.
>> > Merci
>> > -------
>> > Sub CYCLE80()
>> > Application.ScreenUpdating = False
>> > For Each F In ActiveWorkbook.Sheets
>> > If F.Name <> "DA" Then F.Visible = False
>> > Next
>> > Sheets("80").Visible = True
>> > Sheets("80_41").Visible = True
>> > On Error Resume Next
>> > If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > Sheets("80").Activate
>> > End Sub
>> > --------
>>
>>
Oui tu peux essayer
--
Cordialement
jpmonnier-nospam@neuf.fr
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:CF25D507-7B79-4B4C-916E-8A848F641FD9@microsoft.com...
> Donc, si je comprend bien, il faut que je fasse le test, non pas en
> Private
> sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
>
> "JPMonnier" a écrit :
>
>> RE
>> dans Sub CYCLE80
>> tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
>> visibles donc :
>> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> Else
>> est forcément non visible ainsi que la ligne suivante
>> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> Else
>> --
>> Cordialement
>> jpmonnier-nospam@neuf.fr
>>
>> "Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
>> news:03D379E5-57A6-4369-AB97-589D03AF5111@microsoft.com...
>> > Bonjour,
>> > j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
>> > "IS",
>> > "IR" et "BA IR".
>> > Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
>> > si
>> > "IS".
>> > pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
>> > ------
>> > Private Sub worksheet_change(ByVal Target As Range)
>> > If Target.Count > 1 Then Exit Sub
>> > If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
>> > Target.Value = UCase(CStr(Target.Value))
>> > Application.ScreenUpdating = False
>> > If Target.Address <> "$G$40" Then Exit Sub
>> > If Target = "IS" Or Target = "SCA" Then
>> > Sheets("80_21").Visible = True
>> > Sheets("80_11").Visible = False
>> > ElseIf Target = "IR" Or Target = "BA IR" Then
>> > Sheets("80_11").Visible = True
>> > Sheets("80_21").Visible = False
>> > Else
>> > Sheets("80_21").Visible = False
>> > Sheets("80_11").Visible = False
>> > End If
>> > End Sub
>> > -------
>> > Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
>> > ou
>> > non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
>> > suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
>> > pourquoi
>> > ?
>> > (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
>> > 80_21.
>> > Merci
>> > -------
>> > Sub CYCLE80()
>> > Application.ScreenUpdating = False
>> > For Each F In ActiveWorkbook.Sheets
>> > If F.Name <> "DA" Then F.Visible = False
>> > Next
>> > Sheets("80").Visible = True
>> > Sheets("80_41").Visible = True
>> > On Error Resume Next
>> > If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > Sheets("80").Activate
>> > End Sub
>> > --------
>>
>>
Oui tu peux essayer
--
Cordialement
"Sunburn" a écrit dans le message de
news:
> Donc, si je comprend bien, il faut que je fasse le test, non pas en
> Private
> sur la feuille "DA", mais au niveau de ma macro "CYCLE_80", n'est-ce pas ?
>
> "JPMonnier" a écrit :
>
>> RE
>> dans Sub CYCLE80
>> tu caches tes feuilles 80_11 et 80_21 et ensuite tu testes si elles sont
>> visibles donc :
>> If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> Else
>> est forcément non visible ainsi que la ligne suivante
>> If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> Else
>> --
>> Cordialement
>>
>>
>> "Sunburn" a écrit dans le message de
>> news:
>> > Bonjour,
>> > j'ai dans mon onglet "DA", cellule G40, une cellule de choix entre
>> > "IS",
>> > "IR" et "BA IR".
>> > Je rendre visible l'onglet 80_11 si "IR" ou "BA IR", et l'onglet 80_12
>> > si
>> > "IS".
>> > pour cela, sur mon onglet "DA", ça fonctionne bien, j'ai :
>> > ------
>> > Private Sub worksheet_change(ByVal Target As Range)
>> > If Target.Count > 1 Then Exit Sub
>> > If Intersect(Target, Range("G40")) Is Nothing Then Exit Sub
>> > Target.Value = UCase(CStr(Target.Value))
>> > Application.ScreenUpdating = False
>> > If Target.Address <> "$G$40" Then Exit Sub
>> > If Target = "IS" Or Target = "SCA" Then
>> > Sheets("80_21").Visible = True
>> > Sheets("80_11").Visible = False
>> > ElseIf Target = "IR" Or Target = "BA IR" Then
>> > Sheets("80_11").Visible = True
>> > Sheets("80_21").Visible = False
>> > Else
>> > Sheets("80_21").Visible = False
>> > Sheets("80_11").Visible = False
>> > End If
>> > End Sub
>> > -------
>> > Par contre, après j'ai une barre d'outil personnalisée, afin d'afficher
>> > ou
>> > non des onglets. Lorsque j'afficher mes feuilles '80', j'ai la macro
>> > suivante, mais aucune de me feuilles 80_11 ou 80_21 ne s'affiche,
>> > pourquoi
>> > ?
>> > (moi je veux afficher les onglets 80, 80_41 et soit le 80_11 soit le
>> > 80_21.
>> > Merci
>> > -------
>> > Sub CYCLE80()
>> > Application.ScreenUpdating = False
>> > For Each F In ActiveWorkbook.Sheets
>> > If F.Name <> "DA" Then F.Visible = False
>> > Next
>> > Sheets("80").Visible = True
>> > Sheets("80_41").Visible = True
>> > On Error Resume Next
>> > If Sheets("80_11").Visible = True Then Sheets("80_11").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > If Sheets("80_21").Visible = True Then Sheets("80_21").Select: Exit Sub
>> > Else
>> > Sheets("DA").Select
>> > Sheets("80").Activate
>> > End Sub
>> > --------
>>
>>