Declarer feuille en constante

Bonjour à tous,

Je voudrais savoir si il est possible de déclarer une variable de type sheet en constante ou en public ?

J'ai essayer en public avec une fonction d'initialisation lorsque j'ouvre mon classeur mais ça n'a pas fonctionné, les variables sont vides quand je les utilise. Quand en constante je n'ai pas trouvé la syntaxe si elle existe.

Merci d'avance.

Bonjour,

je dois avouer que je ne sais pas pour les variables Sheet, généralement quand je veux appeller une feuille en public dans différentes macro je fais comme ça :

Public mySheet As String
'...
mySheet = ActiveSheet.Name
'...
Sheets(mySheet).Activate

La variable mySheet contenant le nom de la feuille active au moment du code, tu peux utiliser la variable pour l'appeller même sur une autre feuille.

J'ai trouvé ça sur internet sinon (à tester)

Public xlwkGSModel As Worksheet
Sub Workbook_Open()
   Set xlwkGSModel = ActiveWorkbook.Worksheets("gs_model")
End Sub

Que tu peux utiliser comme ceci :

dim x as string
x = xlwkGSModel.Cells(1,1)

Bonjour,

il faut que Public sh As Worksheet soit déclaré dans un module Standard.

Tu ne peux pas déclarer une constante As Worksheet. A la limite son nom As String mais mieux vaut utiliser une variable typée Worksheet et l'affecter dans une procédure.

eric

Merci pour vos réponse.

J'ai déjà essayé de déclarer en public (dans un module standard) mais ça ne fonctionnais pas. Je vais essayer les autres modes de déclaration.

Je vais reessayer.

On est bien d'accord que ThisWorkbook et Feuil1 sont des modules de classe hein ?

Si tu mets dans Module1 c'est bon.

eric

Rechercher des sujets similaires à "declarer feuille constante"