Problème VBA Excel, Dir ....

[Résolu]
Signaler
Messages postés
3
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2008
-
Messages postés
3
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2008
-
Bonjour,

Je suis bloqué sur un code relativement facile.

Explication :

Chemin = "[file://\\P3\hst\0803\ \\P3\hst\0803\]"
Fichier = Dir(Chemin & "*.*")----------------------------->Fichier="HSTETP.001"
Do While Fichier <> "ETPHST.nnn"
link = Chemin & Fichier-------------------------------->Link= "\\P3\hst\0803\HSTETP.001"

 ' Call Macro1(link)

Fichier = Dir ------------------> La variable fichier s'incrémente bien , HSTETP.001, HSTETP.002, HSTETP.003 ect...
Loop

Maintetnant si j'appel la fonction Macro1 (link) (qui à pour but de reccupérer et d'organiser les données du fichier historique (link) dans une feuille excel), la variable fichier prend pour valeur "" (rien en outre!), donc impossible d'ouvrir tous les fichiers un à un du répertoire 0803....Pourquoi?

Si quelqu'un prend pitié de mon problème...merci ! ^^



Tell me nOt it is nOt True?

2 réponses

Messages postés
3
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
17 juillet 2008

Bonjour,

Je te remercie pour ta réponse (je connais les variables public & privée ) mais j'ai réussi un bricoler un code entre les deux modules via un datastring.
J'ai lu sur un autre forum comme quoi ce fucking dir pouvait poser problème.

Merci tchû!

Tell me nOt it is nOt True?
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
bonjour

as tu déclaré tes variables en Public en tout début de module ?

voir dans l'aide la rubrique sur la "porté des variables" dont voila un petit extrait
Dimvariablename [Astype]

Les variables déclarées à l'aide de l'instruction Dim dans une procédure ont
une durée de vie égale à la durée d'exécution de la procédure. Une fois que la
procédure est terminée, la valeur de la variable est supprimée. En outre, la
valeur d'une variable d'une procédure est locale, c'est-à-dire limitée à
cette procédure. Vous ne pouvez donc pas accéder à la variable d'une procédure à
partir d'une autre procédure. Ces caractéristiques vous permettent d'affecter
des noms de variable identiques dans des procédures différentes, sans engendrer
de conflit ou de modification fortuite.

une variable non déclarée est par défaut une variable locale