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

visibilité des feuilles d'un classeur lors d'une macro complémentaire.[resolu]

jeremx

XLDnaute Nouveau
bonjour à tous,
je sollicite votre aide car je trouve rien sur le net et aux bout de multiples recherches ça fatigue....

Mon pb est pas très compliqué en fait:

J'ai fait une macro complémentaire dans laquelle le code doit masquer des feuilles du classeur ouvert en cours:

****************************
Option Explicit


Sub Macro_version_revendeur()

'déclarations
Dim wb As Workbook

'initialisations
Set wb = Application.ActiveWorkbook

'code
wb.Sheets("PRE-DEVIS").Visible = False
wb.Sheets("Feuil22.Name").Visible = False

End Sub
*******************

La première ligne de code masque bien la feuille dont le nom est "PRE-DEVIS" du classeur ouvert.
Seulement, pour éviter que ça plante si des utilisateurs modifient le nom de la feuille, j'ai voulu utiliser le CodeName des feuilles. (voir seconde ligne de code).
Et là c'est le drame... il me dit que l'objet n'appartient pas à la sélection....

c'est un truc de fou: en désignant la feuille par son nom ça marche et en la désignant par son CodeName ça marche plus!

j'ai tenté de mettre le nom de la feuille (via le codename) dans un variable dans le classeur ouvert puis d'appeler (récupérer) cette variable avec la macro complémentaire mais sans résultats.... même en mettant la variable dans (déclaration) et en la déclarant "public".

Si quelqu'un à une idée je suis preneur!!!

merci bcp
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : visibilité des feuilles d'un classeur lors d'une macro complémentaire.

Bonjour,

essaie ceci, "Feuil1" étant ici le "codename" de la feuille :
Code:
Dim wb As Workbook
Set wb = ActiveWorkbook
wb.Sheets(wb.VBProject.VBComponents("Feuil1").Properties(7).Value).Visible = xlSheetHidden

bon après midi
@+
 

jeremx

XLDnaute Nouveau
Re : visibilité des feuilles d'un classeur lors d'une macro complémentaire.



Super ça marche merci beaucoup! par conte juste pour comprendre:
"wb.VBProject.VBComponents("Feuil1").Properties(7).Value" --> designe le nom de la feuille via le projet VBA, mais quel est ce numéro d'index après properties ??
 

Pierrot93

XLDnaute Barbatruc
Re : visibilité des feuilles d'un classeur lors d'une macro complémentaire.

Bonjour,

designe le nom de la feuille via le projet VBA, mais quel est ce numéro d'index après properties ??
7 correspond au numéro d'index des propriétés du composant, soit ici le nom de l'onglet.

bonne journée
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…