[vba] perte de valeur d'une variable Public

  • Auteur de la discussion littlerainbow
  • Date de début

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:

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.
 

zeb

Modérateur
Y a-t'il aussi l'option explicit dans le code du userform ?

Sinon le mettre !!!!
 

littlerainbow

Habitué
oui oui
problème résolu... en fait j'avais déclaré ma variable dim dans le userform en plus de l'avoir déclarée PUblic... normal que ça marchait pas!
désolé...
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 717 999
Membres
1 586 387
Dernier membre
ouistititouille
Partager cette page
Haut