Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…