OVH Cloud OVH Cloud

declaration

4 réponses
Avatar
Emcy
je repose ma question vu que je n'ai pas eu de reponse=20
valable

- Dans un module j'ai mis cette macro :

Option Explicit

Public Aujourdhui As Date

Sub main()

Aujourdhui =3D Date

Load UserForm1
UserForm1.Show

End Sub

- Dans UserForm1, j'ai cr=E9=E9 un intitul=E9 qui se nomme=20
Label1. Dans la userform, j'ai inscrit le code :

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption =3D Aujourdhui

End Sub


- Pourquoi =E7a marche pas ? j'ai pourtant bien d=E9clar=E9 la=20
variable Aujourdhui en "public" .

remarque : j'ai essay=E9 de d=E9clarer ma variable en dim=20
dans la macro "main" mais =E7a ne marche pas

4 réponses

Avatar
Phil Jonn
-----Message d'origine-----
je repose ma question vu que je n'ai pas eu de reponse
valable

- Dans un module j'ai mis cette macro :

Option Explicit

Public Aujourdhui As Date

Sub main()

Aujourdhui = Date

Load UserForm1
UserForm1.Show

End Sub

- Dans UserForm1, j'ai créé un intitulé qui se nomme
Label1. Dans la userform, j'ai inscrit le code :

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption = Aujourdhui

End Sub


- Pourquoi ça marche pas ? j'ai pourtant bien déclaré la
variable Aujourdhui en "public" .

remarque : j'ai essayé de déclarer ma variable en dim
dans la macro "main" mais ça ne marche pas
.
En réponse à ton message:
La variable "Aujourd'hui" est valable dans

l'environnement Excel mais dans VBA tu dois simplement
utiliser la variable "date" pour renvoyer la date
systeme. Il ne faut même pas la déclarer.
Remplace dans ton code la ligne suivante:
UserForm1.Label1.Caption = Aujourdhui
par:
UserForm1.Label1.Caption = Date
Et ça marche!
Phil

Avatar
Emcy
Tu n'as pas compris le problème. Je veux seulement savoir
comment faire pour déclarer une variable qui soit
disponible dans ma sub et dans ma UserForm (je ne veux
pas forcement l'afficher).
Lorsque je la déclare en public, elle est disponible dans
les deux section mais je ne sais pas pourquoi, elle ne
garde pas sa valeur lorsque je passe de la "sub" à
l'"userform".
Remarque : j'arrive à faire transiter la valeur de ma
variable en utilisant un label que je remplis avec la
valeur de ma variable => c'est pas très élégant et rapide.

ex :

public Aujourdhui

Sub main()
Aujourdhui = Date
Load UserForm1
UserForm1.Label1 = Aujourdhui 'pour basculer ma
variable dans l'userform
UserForm1.Show
End Sub


Private Sub UserForm_Initialize()

Aujourdhui = UserForm1.Label1.Caption 'pour récuperer
la valeur de ma variable

End Sub


-----Message d'origine-----
Bonjour,

Dans ton module initialise ton Label :

Sub main()
Aujourdhui = Date
Load UserForm1
UserForm1.Label1 = Date
UserForm1.Show
End Sub

Camille


-----Message d'origine-----
je repose ma question vu que je n'ai pas eu de reponse
valable

- Dans un module j'ai mis cette macro :

Option Explicit

Public Aujourdhui As Date

Sub main()

Aujourdhui = Date

Load UserForm1
UserForm1.Show

End Sub

- Dans UserForm1, j'ai créé un intitulé qui se nomme
Label1. Dans la userform, j'ai inscrit le code :

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption = Aujourdhui

End Sub


- Pourquoi ça marche pas ? j'ai pourtant bien déclaré
la


variable Aujourdhui en "public" .

remarque : j'ai essayé de déclarer ma variable en dim
dans la macro "main" mais ça ne marche pas
.

.





Avatar
Emcy
Tu n'as pas compris le problème. Je veux seulement savoir
comment faire pour déclarer une variable (date n'était
qu'un exemple) qui soit disponible dans ma "sub" et dans
ma "UserForm" (je ne veux pas forcement l'afficher).
Lorsque je la déclare en public, elle est disponible dans
les deux section mais je ne sais pas pourquoi, elle ne
garde pas sa valeur lorsque je passe de la "sub" à
l'"userform".
Remarque : j'arrive à faire transiter la valeur de ma
variable en utilisant un label que je remplis avec la
valeur de ma variable => c'est pas très élégant et rapide.

ex :

option explicit
public Aujourdhui

Sub main()
Aujourdhui = Date
Load UserForm1
UserForm1.Label1 = Aujourdhui 'pour basculer ma
variable dans l'userform
UserForm1.Show
End Sub


option explicit
Private Sub UserForm_Initialize()

Aujourdhui = UserForm1.Label1.Caption 'pour récuperer
la valeur de ma variable

End Sub




-----Message d'origine-----

-----Message d'origine-----
je repose ma question vu que je n'ai pas eu de reponse
valable

- Dans un module j'ai mis cette macro :

Option Explicit

Public Aujourdhui As Date

Sub main()

Aujourdhui = Date

Load UserForm1
UserForm1.Show

End Sub

- Dans UserForm1, j'ai créé un intitulé qui se nomme
Label1. Dans la userform, j'ai inscrit le code :

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption = Aujourdhui

End Sub


- Pourquoi ça marche pas ? j'ai pourtant bien déclaré
la


variable Aujourdhui en "public" .

remarque : j'ai essayé de déclarer ma variable en dim
dans la macro "main" mais ça ne marche pas
.
En réponse à ton message:
La variable "Aujourd'hui" est valable dans

l'environnement Excel mais dans VBA tu dois simplement
utiliser la variable "date" pour renvoyer la date
systeme. Il ne faut même pas la déclarer.
Remplace dans ton code la ligne suivante:
UserForm1.Label1.Caption = Aujourdhui
par:
UserForm1.Label1.Caption = Date
Et ça marche!
Phil


.




Avatar
Emcy
Tu n'as pas compris le problème. Je veux seulement savoir
comment faire pour déclarer une variable (date n'était
qu'un exemple) qui soit disponible dans ma "sub" et dans
ma "UserForm" (je ne veux pas forcement l'afficher).
Lorsque je la déclare en public, elle est disponible dans
les deux section mais je ne sais pas pourquoi, elle ne
garde pas sa valeur lorsque je passe de la "sub" à
l'"userform".
Remarque : j'arrive à faire transiter la valeur de ma
variable en utilisant un label que je remplis avec la
valeur de ma variable => c'est pas très élégant et rapide.

ex :

option explicit
public Aujourdhui

Sub main()
Aujourdhui = Date
Load UserForm1
UserForm1.Label1 = Aujourdhui 'pour basculer ma
variable dans l'userform
UserForm1.Show
End Sub


option explicit
Private Sub UserForm_Initialize()

Aujourdhui = UserForm1.Label1.Caption 'pour récuperer
la valeur de ma variable

End Sub




-----Message d'origine-----

-----Message d'origine-----
je repose ma question vu que je n'ai pas eu de reponse
valable

- Dans un module j'ai mis cette macro :

Option Explicit

Public Aujourdhui As Date

Sub main()

Aujourdhui = Date

Load UserForm1
UserForm1.Show

End Sub

- Dans UserForm1, j'ai créé un intitulé qui se nomme
Label1. Dans la userform, j'ai inscrit le code :

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption = Aujourdhui

End Sub


- Pourquoi ça marche pas ? j'ai pourtant bien déclaré
la


variable Aujourdhui en "public" .

remarque : j'ai essayé de déclarer ma variable en dim
dans la macro "main" mais ça ne marche pas
.
En réponse à ton message:
La variable "Aujourd'hui" est valable dans

l'environnement Excel mais dans VBA tu dois simplement
utiliser la variable "date" pour renvoyer la date
systeme. Il ne faut même pas la déclarer.
Remplace dans ton code la ligne suivante:
UserForm1.Label1.Caption = Aujourdhui
par:
UserForm1.Label1.Caption = Date
Et ça marche!
Phil


.