VBA/Excel - Constantes Chemin

Résolu/Fermé
PleaseCallMe - 5 août 2008 à 17:34
Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 - 7 août 2008 à 11:35
Bonjour,
J'aimerais savoir s'il est possible de créer des constantes en utilisant ce type de commande :
Application.GetOpenFilename("Nom fichier,*.xls")

Je sais que pour une constante il faut la déclare avec Const mais ca ne fonctionne pas avec ceci.

Mais j'aimerais qu'il se souvienne de quel chemin du répertoire l'utilisateur a choisi pour ouvrir le fichier!
A voir également:

6 réponses

Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 1
5 août 2008 à 18:46
Salut,
tu ne peux pas affecter une valeur à une constante autrement qu'en la saisissant dans ton code. A partir du moment ou l'utilisateur fait un choix (avec GetOpenFileName, par exemple), ç'est forcément une variable. Tu peux eventuellement déclarer ta variable publique, en utilisant Public à la place de Dim, ce qui étend sa portée à l'ensemble des procédures.
Sinon, tu peux aussi mémoriser ton chemin d'accès en l'ecrivant dans une cellule de ton fichier et ainsi le récupérer n'importe quand.
A+
0
Merci pour cette précision.
Mais est-il possible de mémoriser le chemin d'une quelqueconque facon?

Car Public ne marche pas a l'intérieur d'un Sub, ça revient plus ou moins à un Const.
0
Petite précision supplémentaire, j'ai crée une Sub qui copie le chemin dans une cellule est-il possible de recuperer cette valeur afin d'en faire une constante, ou du moins une valeur qu'il est possible d'utiliser dans tous les Sub ?
0
Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 1
6 août 2008 à 12:50
tu peux récupérer le chemin dans une variable de type String en écrivant
LaVariable = Workbooks("NomClasseur").Sheets("NomFeuille").Range("A1").Value
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui, mais comment faire pour que cette variable soit utilisable dans toutes mes Sub?
0
Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 1
7 août 2008 à 11:35
S'il s'agit de plusieurs procédures Sub imbriquées (l'une appelant la suivante) dans le même projet, tu conserveras la valeur de ta variable si elle est déclarée publique.
Si tu lances toi-même plusieurs procédures, il faut que tu ré-affectes la valeur à ta variable (cf. Post 4) au début de chacune de tes procédures. Ca n'empêche pas de déclarer ta variable en Public, ça permet de ne la déclarer qu'une seule fois dans un des modules.
A+
0