Variables accessibles entre différents modules [Résolu]

Signaler
Messages postés
44
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
21 janvier 2015
-
 bab -
Bonjour,

Après description ci-après :
code de 'ThisWorkbook(code)'

Option Explicit

Const NFCR = NTemp = "\CR_Temp.txt",NFRés="\CR_Résu.txt"
Const Max = 222
Public Nocr%
Public Doss$, F_Temp$, F_Résu$, Com1$, CRMax%
Dim Dt(Max) As Date, Adh$(Max), Ville$(Max)
Public Sw As Boolean

Private Sub Workbook_Open()
Application.WindowState = xlMaximized
Doss = Path: F_Temp = Doss + NTemp: F_Résu = Doss + NFRés
LoadF_Cr : Debug.Print "Lasr CR "; Nocr
End Sub

Sub LoadF_Cr() 'lire fichier
Dim I%, DD As Date, D$, Ad$, Vil$
I = 0: Close: Open F_CR For Input As #1
Input #1, Com1:input #1, Com1
1: While Not EOF(1)
Input #1, D, Ad, Vil: DD = D: I = I + 1
Dt(I) = DD: Adh(I) = Ad: Ville(I) =Vil: Wend
CRMax = I: Nocr = CRMax: Close #1: Sort_Tb: Load_Feuille_Récap
End Sub

...


et le contenu du module 'Feuille1(code)'

Option Explicit

Sub EcrireRésu_Cr() 'écrire fichier résultats
Dim i%
Close: Open F_Rés For output As #2
For i= 1 To Nocr: Write #2, adh(i),Vil(i): Next i
End Sub

...


Dans le code du module de la feuille 1,
les variables F_Rés, adh(i), Vil(i) sont inexistantes !

Je n'arrive pas à trouver une solution.
Quelqu'un peut-il m'aider ?

Salutations avec Remerciements anticipés. Bab

4 réponses

Messages postés
46
Date d'inscription
jeudi 17 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013

Bonsoir,

As tu essayé en déclarznt les variables en temps que variables globales ?

par exemple :

Global Nocr%
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
Il te suffira d'ouvrir ton aide VBA à la rubrique Portée et visibilité pour avoir toutes les explications dont tu as besoin en ce qui concerne la seule question que tu poses..
Salut et Merci,
J'ai résolu la portée de mes variables en les plaçant dans un module et les déclarant GLOBAL, mot réservé inexploitable dans un ThisWorkbook.
Messages postés
44
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
21 janvier 2015

Bonjour,
Global était bien un 'Mot réservé' avec Visual Basic 6, mais ne l'est plus en VBA sous Excel.

Merci toutefois de m'avoir répondu. Bab
Messages postés
44
Date d'inscription
samedi 8 juin 2013
Statut
Membre
Dernière intervention
21 janvier 2015

Rebonjour
Autant pour moi.
Global n'est utilisable que dans un MODULE.
Je tentais de le traiter dans un 'ThisWorkBook.

Je repars ...

Merci encore. Bab