j'ai une macro qui doit me masquer un onglet en regardant la valeur d'une cellule qui change de valeur avec une formule.
Voilà mon code :
-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
If Not Application.Intersect(KeyCells, Range("B1")) Is Nothing and [B1]=23 Then
Feuil17.Visible = False
End If
End Sub
------------------------------------------------
Ma cellule B1 contient une formule, et du coup ma macro ne marche pas.
Merci de m'aider à trouver le souci.
Vous déclarez une variable Range "KeyCells" que vous ne valorisez jamais qui est donc égal à nothing quand vous vous en servez.
Dans les lignes ci-dessous si Target est B1 alors la feuille Feuil17 sera cachée si Target (B1) est = 23
Peut-être est-ce le contraire qu'il fallait mais comme votre demande n'est pas claire sur ce point, je vous laisse corriger.
Tout ça est bien entendu dans le module de code de la feuille concernée (celle de B1). Hein ???
vous savez c'est pas pour les embêter qu'on demande des classeurs exemple aux demandeurs ?
Ca nous évite des questions et du travail inutiles
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'Si Target (cellule quichange) est B1 Alors Feuil17 sera visible si B1 <>23 sinon invisible
If Target.Address(0, 0) = "B1" Then Feuil17.Visible = Target <> 23
End Sub
Vous déclarez une variable Range "KeyCells" que vous ne valorisez jamais qui est donc égal à nothing quand vous vous en servez.
Dans les lignes ci-dessous si Target est B1 alors la feuille Feuil17 sera cachée si Target (B1) est = 23
Peut-être est-ce le contraire qu'il fallait mais comme votre demande n'est pas claire sur ce point, je vous laisse corriger.
Tout ça est bien entendu dans le module de code de la feuille concernée (celle de B1). Hein ???
vous savez c'est pas pour les embêter qu'on demande des classeurs exemple aux demandeurs ?
Ca nous évite des questions et du travail inutiles
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
'Si Target (cellule quichange) est B1 Alors Feuil17 sera visible si B1 <>23 sinon invisible
If Target.Address(0, 0) = "B1" Then Feuil17.Visible = Target <> 23
End Sub
Je vous remercie de votre aide
Je vous ci-joint un fichier excel avec ce que j'aimerais réaliser.
Vous trouverez l'onglet : "Main"
Quand la valeur de la cellule B1 de cet onglet est égale à 23, l'onglet "Masque" doit disparaitre.
Sub Zonecombinée2_QuandChangement()
Application.ScreenUpdating = False
If [B1] = 23 Then
Feuil3.Visible = False
Else
Feuil3.Visible = True
End If
End Sub
J'ai supposé que quand B1 était différent de 23 alors Masque devait être visible, sinon changez avec :
Code:
Sub Zonecombinée2_QuandChangement()
Application.ScreenUpdating = False
If [B1] = 23 Then Feuil3.Visible = False
End Sub
Sub Zonecombinée2_QuandChangement()
Application.ScreenUpdating = False
If [B1] = 23 Then
Feuil3.Visible = False
Else
Feuil3.Visible = True
End If
End Sub
J'ai supposé que quand B1 était différent de 23 alors Masque devait être visible, sinon changez avec :
Code:
Sub Zonecombinée2_QuandChangement()
Application.ScreenUpdating = False
If [B1] = 23 Then Feuil3.Visible = False
End Sub
Merci beaucoup pour votre aide.
J'ai repris la mm chose que vous, mais le code ne marche pas avec mon fichier, je ne sais pas s'il y a quelque chose qui m'échape
j'ai une macro qui doit me masquer un onglet en regardant la valeur d'une cellule qui change de valeur avec une formule.
Voilà mon code :
-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
If Not Application.Intersect(KeyCells, Range("B1")) Is Nothing and [B1]=23 Then
Feuil17.Visible = False
End If
End Sub
------------------------------------------------
Ma cellule B1 contient une formule, et du coup ma macro ne marche pas.
Merci de m'aider à trouver le souci.
J'ai pas trop compris pour le torticolis
Il me semble que j'ai reproduit la feuille conformément à sa demande sans toutes ses complications mais vu l'heure j'ai pu raté un truc ....
Je vous remercie de votre aide
J'aimerais juste savoir pourquoi Sub Zonecombinée1_QuandChangement() et non pas Sub Zonecombinée2_QuandChangement() ?
Parce que là j'ai recopié dans mon fichier original et ça marche toujours pas, je ne sais plus quoi faire, c'ets la mm chose que je vous ai déjà envoyé sauf mon fichier contient des données
Merciii