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.

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
@+


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 ??
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote