Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure
LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure
LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure
LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve
énormément d'information sur ce forum.
René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" (sanssapm)> a écrit dans le message de news:
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de news:
1AFE437C-B9F8-44AE-840F-4F959407024A@microsoft.com...
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" (sanssapm)> a écrit dans le message de news:
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser
une fonction personnalisée plutôt qu'une variable. Petits avantages :
lecture directe du renseignement voulu sans "intermédiaire" (plus de
problème de "transfert") et utilisation possible dans une feuille de calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser
une fonction personnalisée plutôt qu'une variable. Petits avantages :
lecture directe du renseignement voulu sans "intermédiaire" (plus de
problème de "transfert") et utilisation possible dans une feuille de calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser
une fonction personnalisée plutôt qu'une variable. Petits avantages :
lecture directe du renseignement voulu sans "intermédiaire" (plus de
problème de "transfert") et utilisation possible dans une feuille de calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" (sanssapm)> a écrit dans le message de news:
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de news:
1AFE437C-B9F8-44AE-840F-4F959407024A@microsoft.com...
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
Bonjour
Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
Si la déclaration se situe dans un module séparé, alors il faut définir ta
variable publique :
Public nomUtilisateurReel As String
Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
'1°)Dans un module séparé :
Option Explicit
Public nomUtilisateurReel As String
'2°)Dans ThisWorkbook :
Private Sub Workbook_Open()
nomUtilisateurReel = Environ("username") ' Lecture du nom de
l'utilisateur
End Sub
Cordialement
Pascal
"René Roy" (sanssapm)> a écrit dans le message de news:
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure
> LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
bonjour René,
une autre possibilité serait de stocker la valeur dans un Nom caché,
par exemple:
'pour Stocker la valeur:
Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" &
Environ("username") & """)"
'pour récupérer la valeur (cette ligne peut être mit dans une autre macro)
Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
tu peut même récupérer cette valeur après avoir fermer et réouvert le
fichier,
c'est à dire tant que tu n'aura pas attribuer un autre valeur au Nom
"Utilisateur"
isabelle
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
>
bonjour René,
une autre possibilité serait de stocker la valeur dans un Nom caché,
par exemple:
'pour Stocker la valeur:
Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" &
Environ("username") & """)"
'pour récupérer la valeur (cette ligne peut être mit dans une autre macro)
Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
tu peut même récupérer cette valeur après avoir fermer et réouvert le
fichier,
c'est à dire tant que tu n'aura pas attribuer un autre valeur au Nom
"Utilisateur"
isabelle
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
>
bonjour René,
une autre possibilité serait de stocker la valeur dans un Nom caché,
par exemple:
'pour Stocker la valeur:
Application.ExecuteExcel4Macro "SET.NAME(""Utilisateur"",""" &
Environ("username") & """)"
'pour récupérer la valeur (cette ligne peut être mit dans une autre macro)
Range("A1") = Application.ExecuteExcel4Macro("Utilisateur")
tu peut même récupérer cette valeur après avoir fermer et réouvert le
fichier,
c'est à dire tant que tu n'aura pas attribuer un autre valeur au Nom
"Utilisateur"
isabelle
René Roy a écrit :
> Bonjour tout le monde,
>
> Excel 2007, windows xp
>
> Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même
> module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> Voici le code, pourtant simple ...
>
> Option Explicit
> Dim nomUtilisateurReel As String
>
> Private Sub Workbook_Open()
> Application.ScreenUpdating = False
> LireValeurCtrl ' Lecture du nom de l'utilisateur
> End Sub
> Sub LireValeurCtrl()
> ' Lecture du nom de l'utilisateur
> nomUtilisateurReel = Environ("username")
> End Sub
>
> Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> j'ignore la variable a une valeur correcte dans la procédure LireValeurCtrl
> mais est vide lorsque l'exécution revient à Workbook_Open.
>
> Pourquoi je perd la valeur de la variable entre les 2 procédures?
>
> Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> énormément d'information sur ce forum.
>
> René R.
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" (sanssapm)> a écrit dans le message de groupe de
discussion :
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" (sanssapm)> a écrit dans le message de news:
>
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de groupe de
discussion : 7A7BEDD5-12AD-4C46-AFC1-018B60019E5B@microsoft.com...
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de news:
> 1AFE437C-B9F8-44AE-840F-4F959407024A@microsoft.com...
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" (sanssapm)> a écrit dans le message de groupe de
discussion :
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" (sanssapm)> a écrit dans le message de news:
>
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" (sanssapm)> a écrit dans le message de groupe de
discussion :
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" (sanssapm)> a écrit dans le message de news:
>
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de groupe de
discussion : 7A7BEDD5-12AD-4C46-AFC1-018B60019E5B@microsoft.com...
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" <renroy2000@yahoo.ca.(sanssapm)> a écrit dans le message de news:
> 1AFE437C-B9F8-44AE-840F-4F959407024A@microsoft.com...
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Pour te rendre compte que cela fonctionne, essaie ce qui suit,
j'ai ajouté la ligne de code dans la procédure : Private Sub Workbook_Open
Msgbox "Nom Usager : " & nomUtilisateurReel
Si tu veux utiliser ta variable dans l'ensemble de ton classeur,
fais la déclaration de ta variable dans le haut d'un module standard :
Public nomUtilisateurReel As String
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur
Msgbox "Nom Usager : " & nomUtilisateurReel
End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
"René Roy" (sanssapm)> a écrit dans le message de groupe de
discussion :
Bonjour Papou,
C'est vrai que l'utilisation de la macro LireValeurCtrl semble superflue.
Premièrement, je procède ainsi parce que je souhaite lire le nom de
l'utilisateur dans d'autres circonstances du même projet également. Alors je
pensais n'écrire le code qu'une fois dans une procédure distincte et faire
appel à celle-ci au besoin. Deuxièment, j'ai d'autres situations qui
nécessitent que je passe des valeurs entre procédures et çà ne fonctionne pas
chez moi. Alors je cherche à comprendre ce qui ne vas pas.
Quand j'utilise l'option "Ajouter un espion" sur la variable
nomUtilisateurReel et que j'exécute la macro pas à pas, la variable prend la
bonne valeur dans la procédure LireValeurCtrl mais affiche <Hors du contexte>
: Empty dès que le contrôle revient à la procédure Workbook_Open
Merci.
René R.
"papou" a écrit :
> Bonjour
> Si tout ton code est placé dans ThisWorkbook, telle quelle, ta procédure
> fonctionne chez moi (Xl2007 SP2 WinXp Pro SP2).
> Si la déclaration se situe dans un module séparé, alors il faut définir ta
> variable publique :
> Public nomUtilisateurReel As String
>
> Sinon, une remarque : la macro LireValeurCtrl me semble superflue :
> '1°)Dans un module séparé :
> Option Explicit
> Public nomUtilisateurReel As String
> '2°)Dans ThisWorkbook :
> Private Sub Workbook_Open()
> nomUtilisateurReel = Environ("username") ' Lecture du nom de
> l'utilisateur
> End Sub
>
> Cordialement
> Pascal
>
> "René Roy" (sanssapm)> a écrit dans le message de news:
>
> > Bonjour tout le monde,
> >
> > Excel 2007, windows xp
> >
> > Je souhaite transférer la valeur d'une variable entre 2 procédures d'un
> > même
> > module mais je n'y arrive pas. Quelque chose échappe à ma compréhension.
> > Voici le code, pourtant simple ...
> >
> > Option Explicit
> > Dim nomUtilisateurReel As String
> >
> > Private Sub Workbook_Open()
> > Application.ScreenUpdating = False
> > LireValeurCtrl ' Lecture du nom de l'utilisateur
> > End Sub
> > Sub LireValeurCtrl()
> > ' Lecture du nom de l'utilisateur
> > nomUtilisateurReel = Environ("username")
> > End Sub
> >
> > Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui
> > devrait me ramener la variable "nomUtilisateurReel". Pour une raison que
> > j'ignore la variable a une valeur correcte dans la procédure
> > LireValeurCtrl
> > mais est vide lorsque l'exécution revient à Workbook_Open.
> >
> > Pourquoi je perd la valeur de la variable entre les 2 procédures?
> >
> > Merci à l'avance de votre aide qui m'est très précieuse. On trouve
> > énormément d'information sur ce forum.
> >
> > René R.
>
>
>
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser une fonction
personnalisée plutôt qu'une variable. Petits avantages : lecture directe du renseignement voulu
sans "intermédiaire" (plus de problème de "transfert") et utilisation possible dans une feuille de
calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même module mais je n'y
arrive pas. Quelque chose échappe à ma compréhension. Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui devrait me ramener la
variable "nomUtilisateurReel". Pour une raison que j'ignore la variable a une valeur correcte
dans la procédure LireValeurCtrl mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve énormément d'information sur
ce forum.
René R.
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser une fonction
personnalisée plutôt qu'une variable. Petits avantages : lecture directe du renseignement voulu
sans "intermédiaire" (plus de problème de "transfert") et utilisation possible dans une feuille de
calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :
Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même module mais je n'y
arrive pas. Quelque chose échappe à ma compréhension. Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui devrait me ramener la
variable "nomUtilisateurReel". Pour une raison que j'ignore la variable a une valeur correcte
dans la procédure LireValeurCtrl mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve énormément d'information sur
ce forum.
René R.
Bonjour,
Pour faire suite aux remarques de papou, une autre suggestion : utiliser une fonction
personnalisée plutôt qu'une variable. Petits avantages : lecture directe du renseignement voulu
sans "intermédiaire" (plus de problème de "transfert") et utilisation possible dans une feuille de
calcul.
'============== > Function NomUser()
NomUser = Environ("username")
End Function
Sub essai()
MsgBox NomUser
End Sub
'============== >
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
René Roy a écrit :Bonjour tout le monde,
Excel 2007, windows xp
Je souhaite transférer la valeur d'une variable entre 2 procédures d'un même module mais je n'y
arrive pas. Quelque chose échappe à ma compréhension. Voici le code, pourtant simple ...
Option Explicit
Dim nomUtilisateurReel As String
Private Sub Workbook_Open()
Application.ScreenUpdating = False
LireValeurCtrl ' Lecture du nom de l'utilisateur End Sub
Sub LireValeurCtrl()
' Lecture du nom de l'utilisateur
nomUtilisateurReel = Environ("username")
End Sub
Quand workbook_open s'exécute, il lance la procédure LireValeurCtrl qui devrait me ramener la
variable "nomUtilisateurReel". Pour une raison que j'ignore la variable a une valeur correcte
dans la procédure LireValeurCtrl mais est vide lorsque l'exécution revient à Workbook_Open.
Pourquoi je perd la valeur de la variable entre les 2 procédures?
Merci à l'avance de votre aide qui m'est très précieuse. On trouve énormément d'information sur
ce forum.
René R.