Problème de déclaration de variables

Résolu
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010 - 30 janv. 2008 à 14:10
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010 - 31 janv. 2008 à 09:20
Bonjour tout le monde,
Je travaille sur un projet1 qui ouvre un autre projet2 et exécute une macro dans un module de celui-ci. Je voudrais bien pouvoir utiliser les variables qui découlent de la macro du projet2 (déclarées en Public) dans le projet1. Comment faire ?

Nanardino64
Développons-nous, Développeurs.

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 janv. 2008 à 19:06
Salut
Je me trompe peut-être, mais l'étendue des variables (public) ne dépasse pas le projet.
Impossible donc de faire communiquer deux projets par ce biais.
Il va falloir passer par les liens DDE (sous XP seulement, pas Vista)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
30 janv. 2008 à 19:24
dans le projet 2 tu écris dans un fichier texte les variables  et dans projet 1 tu vas lire ce fichier texte et le tour est joué !
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
31 janv. 2008 à 09:17
Open "FICHTEST" For Output As #1 crée le fichier si il n'existe pas
par contre mets bien le chemin complet de l'endroit où tu veux l'écrire ce fichier pour le retrouver ensuite
 
Open "FICHTEST" For Input As #1

te déclanchera quand à lui une erreur si le fichier n'existe pas là ou tu lui a dit d'aller le chercher
un petit truc pendant la phase de déboggage commence par un close#1 car si tu plante en milieu de macro le fichier n'est pas refermé et il y aura une erreur à l'ouverture
par contre comme fermer un fichier qui l'est déja ne déclanche pas d'erreur
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
31 janv. 2008 à 09:20
dans le projet qui lit le fichier rien ne t'empeche de fair un Kill "FICHTEST" apres l'avoi lu afin de supprimer ce fichier pas tres élégant
3

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

Posez votre question
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
31 janv. 2008 à 08:22
Merci de vos réponses,
Jack je pense pas que je vais utiliser ta méthode car ça pourrait nuire au bon fonctionnement du logiciel dans le futur si on passe sous vista.
Pile_poil j'aime bien ta solution mais j'arrive pas à la mettre en place, si tu pouvais me donner le code pour ouvrir un fichier texte, y écrire dedans et récupérer les données c'est sympas parce que je ne trouve pas.

Nanardino64
Développons-nous, développeurs.
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
31 janv. 2008 à 08:38
voila les exemples tirés de l'aide de VB si tu vas regarder le reste des explications concernant ces deux instructions tu  devrais arriver à tes fins moi qui n'ai jamais appris la programation j'y suis arrivé


Input #, instruction, exemple

Cet exemple utilise l'instruction Input # pour lire les données d'un
fichier et les placer dans deux variables. Nous supposons que le fichier
FICHTEST
contient quelques lignes de données écrites à l'aide de
l'instruction Write #, ce qui signifie que chaque ligne contient une
chaîne entre guillemets et un nombre, séparés par une virgule, par exemple
("Bonjour", 234).



Dim MyString, MyNumber
Open "FICHTEST" For Input As #1   ' Ouvre le fichier en lecture.
Do While Not EOF(1)   ' Effectue la boucle jusqu'à la fin du fichier.
Input #1, MyString, MyNumber   ' Lit les données dans deux variables.
   ' Affiche les données dans la fenêtre Exécution.
   Debug.Print MyString, MyNumber
Loop
Close #1   ' Ferme le fichier.






Write #, instruction, exemple

Cet exemple utilise l'instruction Write # pour écrire des données
brutes dans un fichier séquentiel.


Open "FICHTEST" For Output As #1   ' Ouvre le fichier en écriture.
 ' Écrit des données séparées par des virgules.

Write #1, "Bonjour à tous", 234

Write #1,   ' Écrit une ligne vierge.


Dim MyBool, MyDate, MyNull, MyError

' Affecte des valeurs de type Boolean, Date, Null et Error.
 MyBool = False 
 MyDate = #February 12, 1969# 
 MyNull = Null
MyError = CVErr(32767)

' Les données de type Boolean sont écrites sous la forme #TRUE#
' ou #FALSE#. Les littéraux 'date sont écrits au format universel

' de date, par exemple #1996-07-14# pour le 14 juillet 1996.
 ' Les données de type Null sont écrites sous la forme #NULL#.

' Les données d'erreur sont écrites sous la forme #ERROR errorcode#.
 Write #1, MyBool ; " est une valeur booléenne"

Write #1, MyDate ; " est une date"

Write #1, MyNull ; " est une valeur nulle"

Write #1, MyError ; " est une valeur d'erreur"

Close #1   ' Ferme le fichier.
0
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
31 janv. 2008 à 09:08
Ben en fait j'ai bien compris comment lire et écrire dans le fichier mais pour le créer j'y arrive pas...
La commande Open "FICHTEST" For Output As #1 ne marche pas, il n'affiche pas de message d'erreur mais il poursuit la macro sans que rien ne se passe ou alors on ne voit pas le fichier ouvert ?
Dans l'aide de Excel il me donne bien les commande pour lire et écrire mais pas pour créer, je tourne en rond c'est terrible !!!

Nanardino64
Développons-nous, développeurs.
0
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
31 janv. 2008 à 09:15
Bon ok effectivement il n'affiche pas le fichier ouvert mais il enregistre bien les modifs.
Par contre est-ce qu'il est possible d'ouvrir un fichier texte non crée auparavant car je ne veux pas me trimbaler un .txt dans mon dossier

Nanardino64
Développons-nous, développeurs.
0
nanardino64 Messages postés 131 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 17 mars 2010
31 janv. 2008 à 09:20
Merci bien messieurs !!

Nanardino64
Développons-nous, développeurs.
0
Rejoignez-nous