Déclaration var Public Workbook, dois être utilisable dans les worksheet

Bonjours à vous tous jessaie depuis plusieurs heures de déclarer une variable public, utilisé dans le ''ThisWorkBook" dans les ''Worksheets'' j'ai fait le tour du forum et des rubriques d'aide qui m'ont fortement aidé à déclarer la variable public (au travert des worksheets) . Mais ma variable est défini par L'event OPEN et la variable s'efface à la fin de la procédure.

visuellement.:

Private Sub Workbook_Open()

  Chemin = ThisWorkbook.Path
  NomFichier = ThisWorkbook.Name
  NomAncienFichier = Chemin & "\" & NomFichier

End Sub

De plus je déclare une variable public au tout début des modules. Sois .:

Public NomAncienFichier As String

Je la déclare tout en haut de la ''sheet1'' j'ai esseyé tout en haut du module ''ThisWorksheet" aussi esseyer les 2...

mais quelque chose me dis que la variable s'efface puisque lorsque je tente de la réutiliser dans la ''sheet1'' et que je demande à afficher sa valeur sa valeur est vide..

Est- ce que quelqu'un d'entre vous serais me dire ce que je ne fais pas comme il se doit ?

En espérant avoir été clair

Merci d'avance

Bonjour,

ThisWorkbook et les modules de feuille sont des modules de classe.

Il faut la déclarer dans un module standard (Insertion / Module)

eric

Salut le fil

Oui vu il n'y a pas longtemps, trouvé en 20 secondes chrono Doc. Microsoft

Bonjour,

ThisWorkbook et les modules de feuille sont des modules de classe.

Il faut la déclarer dans un module standard (Insertion / Module)

eric

Merci beaucoup de ton aide elle est très apprécier , (pour avoir deja utilisé d'autre de tes réponse ultérieur) et pour celle d'aujourd'hui. Mon incompréhension Étais vrm au niveau du Module de classe VS Module standart.

Je vais allé lire d'avantage à ce sujet.

Encore une fois merci beaucoup !

mais quelque chose me dis que la variable s'efface puisque lorsque je tente de la réutiliser dans la ''sheet1'' et que je demande à afficher sa valeur sa valeur est vide..

Si vous voulez utiliser une variable publique définie dans un module de classe, il faut la préfixer par le nom de ce module.

En l'occurrence "ThisWorkbook.NomAncienFichier"

Sinon comme indiqué par Eric, vous la définissez dans un module standard.

mais quelque chose me dis que la variable s'efface puisque lorsque je tente de la réutiliser dans la ''sheet1'' et que je demande à afficher sa valeur sa valeur est vide..

Si vous voulez utiliser une variable publique définie dans un module de classe, il faut la préfixer par le nom de ce module.

En l'occurrence "ThisWorkbook.NomAncienFichier"

Sinon comme indiqué par Eric, vous la définissez dans un module standard.

J'ai esseyer ta façon de faire ! mais le module ''ThisWorkBook'' ne semble pas prendre la methode ''.NomAncienFichier"

J'ai esseyer ta façon de faire ! mais le module ''ThisWorkBook'' ne semble pas prendre la methode ''.NomAncienFichier"

D'abord, il ne s'agit pas d'une méthode mais d'une propriété.

Ensuite, la variable publique

Public NomAncienFichier As String

est à déclarer une seule fois dans le module ThisWorkbook avant la procédure événementielle

Private Sub Workbook_Open()

  Chemin = ThisWorkbook.Path
  NomFichier = ThisWorkbook.Name
  NomAncienFichier = Chemin & "\" & NomFichier

End Sub

J'ai esseyer ta façon de faire ! mais le module ''ThisWorkBook'' ne semble pas prendre la methode ''.NomAncienFichier"

D'abord, il ne s'agit pas d'une méthode mais d'une propriété.

Ensuite, la variable publique

Public NomAncienFichier As String

est à déclarer une seule fois dans le module ThisWorkbook avant la procédure événementielle

Private Sub Workbook_Open()

  Chemin = ThisWorkbook.Path
  NomFichier = ThisWorkbook.Name
  NomAncienFichier = Chemin & "\" & NomFichier

End Sub

Right !! C'est aussi fonctionnel et je préfere cette façon de faire , cela m'évite d'avoir à créer un module pour seulement y déclarer une variable.

Merci beaucoup très apprécier et bonne journée a toi !!

Rechercher des sujets similaires à "declaration var public workbook dois etre utilisable worksheet"