Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Maragua
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Maragua

Guest
Re bonjour,
J'ai un petit souci mon code semble être bon mais ça marche pas 😕
Mon code permet de détecter dans ma feuille "Matrix" la valeur dans ma case "EnableFF" (Case I5): Oui ou Non et de masquer ma plage de cellule que j'ai nommé "HideFrequentFlyer" si on a "Non" dans la case "EnableFF".
Le souci c'est que la ça ne masque rien. Je pense que j'ai pas mis la bonne dénominations pour masquer mes cellules.

Code:
Private Sub Worksheet_Hide(ByVal Target As Range)
Sheets("Matrix").Select
Target.Adress = "EnableFF"
If Target.Value <> "No" Then
                Sheets("Test page").Select
                .Rows("HideFrequentFlyer").Hidden = True
            Case Else
                Sheets("Test page").Rows("HideFrequnetFlyer").Hidden = False
        End Select
End Sub

Merci de votre aide.
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Toujours pas :'(
J'ai mis le ode dans ma feuille "Matrix", rien n'y fait.
Je l'ai mis dans ma feuille "Test page", non plus.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Matrix").Select
Target.Adress = "EnableFF"
If Target.Value <> "No" Then
                Sheets("Test page").Active
                Range("HideFrequentFlyer").EntireRow.Hidden = True
            Case Else
                Sheets("Test page").Active
                Range("HideFrequnetFlyer").EntireRow.Hidden = False
        End Select

End Sub

Si vous avez une autre solution, je n'arrive pas a m'en sortir.
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Je viens de faire les modification suivante:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Matrix").Select
Target.Adress = "EnableFF"
If Target.Value <> "No" Then
Sheets("Test page").Active
Range("HideFrequentFlyer").EntireRow.Hidden = True
Else
Sheets("Test page").Rows("HideFrequnetFlyer").Hidden = False
End If
End Sub

Il me dit qu'il y a un probleme avec Target.Adress +"EnableFF"
Si quelqu'un peut m'aider, merci.
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Re,

attention le code est dans un module de feuille, si pas d'autre précision s'appliquera à cette même feuille, si feuille différente, la préciser :
Code:
Sheets("NomFeuille").Range("maligne").EntireRow.Hidden = True
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Merci Pierrot, on avance.
Private Sub Worksheet_SelectionChange(ByVal Cible As Range)
Sheets("Matrix").Cible.Adress = "EnableFF"
If Cible.Value <> "No" Then
Sheets("Test page").Range("HideFrequentFlyer").EntireRow.Hidden = True
End If
If Cible.Value <> "Yes" Then
Sheets("Test page").Range("HideFrequnetFlyer").EntireRow.Hidden = False
End If
End Sub

Le code a l'air nickel.
Sauf qu'a la compile, j'ai un "Runtime Error 438:
Object doesn't support this propert or method"
Sur ma ligne :
Sheets("Matrix").Cible.Adress = "EnableFF"

Actuellement, mon code est dans ma feuille " Matrix"
J'avoue m'avoir jamais compris a quoi servait les modules.
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Bonsoir


Target.Address avec 2 deux est la bonne syntaxe

et ceci n'existe pas
Private Sub Worksheet_Hide(ByVal Target As Range)
PS: Target.Address est un mot réservé par VBA
Ci-dessous extrait de l'aide VBA d'Excel
Exemple

Cet exemple montre comment afficher quatre représentations différentes de la même adresse de cellule dans la feuille Sheet1. Les commentaires donnés dans l'exemple correspondent aux adresses affichées dans les messages.
Set mc = Worksheets("Sheet1").Cells(1, 1)
MsgBox mc.Address() ' $A$1
MsgBox mc.Address(RowAbsolute:=False) ' $A1
MsgBox mc.Address(ReferenceStyle:=xlR1C1) ' R1C1
MsgBox mc.Address(ReferenceStyle:=xlR1C1, _
RowAbsolute:=False, _
ColumnAbsolute:=False, _
RelativeTo:=Worksheets(1).Cells(3, 3)) ' R[-2]C[-2]
 
Dernière édition:
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Bonjour tout le monde,
J'ai refactore mon code, il semble mieux mais j'ai un souci je n'arrive pas a faire réapparaitre les cellules si la réponse est oui.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("EnableFF")) Is Nothing Then
        If Target.Value = "No" Then
            Sheets("Test page").Range("HideFrequentFlyer").EntireRow.Hidden = True
            Target.Offset(0, 1) = "No"
            Target.Offset(0, 2) = "No"
        Else: Target.Value = "Yes"
            Sheets("Test page").Range("HideFrequnetFlyer").EntireRow.Hidden = False
        End If
    End If
End Sub

J'ai changé d'erreur 😉
"Application-defined or object-defined error.

Je tourne en rond mais je vais y arriver.
J'ai une autre petite question omment fait-on pour que les macro s'execute automatiquement a l'oyuverture du classeur que l'on soit pas obliger les lancer a chaque coup.
Merci de votre aide.
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Bonjour,
J'ai une autre petite question omment fait-on pour que les macro s'execute automatiquement a l'oyuverture du classeur que l'on soit pas obliger les lancer a chaque coup.

pour lancer une procédure à l'ouvertre du classeur, il faut utiliser l'événement "Workbook_Open", et ce dans le module "ThisWorkbook"..
Code:
Option Explicit
Private Sub Workbook_Open()
'ton code
End Sub

pour ton erreur, sans plus de détails et sans pouvoir reproduire le cas, difficile à dire....

bonne journée
@+
 
Re : Masquer une plage nommee dans une feuille suivant la valeur d'une cellule

Bonjour,

l'événement "Workbook_Open()" ne possède pas d'argument "target"... et dans ce cas attention également à bien préciser la ou les feuilles sur lesquelles tu veux intervenir....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
Réponses
4
Affichages
1 K
cecenico
C
S
Réponses
2
Affichages
1 K
Sunfreez
S
C
Réponses
1
Affichages
797
Compte Supprimé 979
C
L
Réponses
3
Affichages
2 K
L
Retour