littlerainbow
Habitué
J'ai un problème avec une variable "chemin" qui perd sa valeur quand je passe du userform à l'exécution d'une macro de module.
j'ai déclaré ma variable "chemin" Public en début d'un module, juste après Option Explicit.
Voici le code que j'ai dans le userform et qui s'exécute quand on clique sur un bouton, il permet de sélectionner un classeur et lancer une macro:
ensuite dans ma macro1 j'ai:
et c'est là que ça bug, la variable "chemin" n'as plus de valeur, la macro ne peut pas ouvrir le classeur, alors que lorsque dans l'interface (userform) je sélectionne le classeur, la variable "chemin" a bien la bonne valeur (c'est à dire le chemin du classeur). Donc la valeur de la variable disparait entre-temps et je ne sais pas pourquoi. (j'avais déjà eu ce problème et pour que la variable garde sa valeur je l'avais définie comme la somme de deux variables dans le userform et ça marchait mais là je peux pas).
Aidez-moi svp, merci.
j'ai déclaré ma variable "chemin" Public en début d'un module, juste après Option Explicit.
Voici le code que j'ai dans le userform et qui s'exécute quand on clique sur un bouton, il permet de sélectionner un classeur et lancer une macro:
Code:
'sélection du classeur
Dim chemin
chemin = Application.GetOpenFilename
If VarType(chemin) = vbBoolean Then MsgBox "Action annulée. Vous devez sélectionner le fichier avant de continuer" _
Else MsgBox "Fichier sélectionné : " & chemin
'lancer la macro
macro1
ensuite dans ma macro1 j'ai:
Code:
Workbooks.Open Filename:= _
chemin
et c'est là que ça bug, la variable "chemin" n'as plus de valeur, la macro ne peut pas ouvrir le classeur, alors que lorsque dans l'interface (userform) je sélectionne le classeur, la variable "chemin" a bien la bonne valeur (c'est à dire le chemin du classeur). Donc la valeur de la variable disparait entre-temps et je ne sais pas pourquoi. (j'avais déjà eu ce problème et pour que la variable garde sa valeur je l'avais définie comme la somme de deux variables dans le userform et ça marchait mais là je peux pas).
Aidez-moi svp, merci.