Variable "Public" non publique ! ?

Le
LANIMAL
Bonjour,
Je déclare en début d'un Module (du fichier bnq.xls):

Public Onglet As String

Puis dans ce module j'appelle une macro

Run "PERSO.xls!AdapterFormulesPointageCA"

La macro "AdapterFormulesPointageCA()" utilise la variable "Onglet"
laquelle est vide lors de l'exécution.

Cela signifierait-il qu'une exécution "Run"
ignore les déclarations "Public" faites ailleurs ?

Je peux comprendre, mais j'aimerais avoir la confirmation.

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #21369731
Bonjour.
Une variable n'est pas valable d'un classeur à l'autre. Modifie la
macro "AdapterFormulesPointageCA()" pour recevoir le paramètre "Onglet"
et passe celui-ci dans la commande Run.
Cordialement.
Daniel

Bonjour,
Je déclare en début d'un Module (du fichier bnq.xls):

Public Onglet As String

Puis dans ce module j'appelle une macro

Run "PERSO.xls!AdapterFormulesPointageCA"

La macro "AdapterFormulesPointageCA()" utilise la variable "Onglet"
laquelle est vide lors de l'exécution.

Cela signifierait-il qu'une exécution "Run"
ignore les déclarations "Public" faites ailleurs ?

Je peux comprendre, mais j'aimerais avoir la confirmation.

Merci
michdenis
Le #21370171
Bonjour,

Voici un exemple quant à la manière de passer une variable
comme paramètre dans une procédure. Comme on utilise
"optional" dans la déclaration du paramètre, la procédure
peut être appelée sans déclarer une valeur pour ce paramètre


'Déclaration de la variable dans le haut d'un module
Public Onglet As String

'-----------------------------
Sub test()
Dim LaMacro As String

Onglet = "Feuil3"
LaMacro = "'" & ThisWorkbook.Name & "'!test1"
Application.Run LaMacro, Onglet
End Sub

'-------------------------------------
Sub Test1(Optional NomFeuille As String)
MsgBox Sheets(NomFeuille).Name
End Sub
'-------------------------------------

N.B - Si la macro est dans un module feuil, il faut faire
référence à celle-ci dans la ligne de code. Ici on parle
de la propriété "Name" de la feuille visible dans la
fenêtre de l'éditeur de code et non le nom de l'onglet

Si le fichier est ouvert :
Application.Run "modele.xls!Feuil4.test1", Onglet

Si le fichier est fermé :
Application.Run "'C:Mes documentsAnswer.xls'!Feuil4.test1", Onglet





"LANIMAL" #
Bonjour,
Je déclare en début d'un Module (du fichier bnq.xls):

Public Onglet As String

Puis dans ce module j'appelle une macro

Run "PERSO.xls!AdapterFormulesPointageCA"

La macro "AdapterFormulesPointageCA()" utilise la variable "Onglet"
laquelle est vide lors de l'exécution.

Cela signifierait-il qu'une exécution "Run"
ignore les déclarations "Public" faites ailleurs ?

Je peux comprendre, mais j'aimerais avoir la confirmation.

Merci
LANIMAL
Le #21409201
Merci

J'ai tellement buté sur le pb, que je me suis cassé une cheville :-(((((
Je rentre juste de l'hopital.

A la prochaine ..... pas la cheville ! ! ! !


Daniel.C a écrit :
Bonjour.
Une variable n'est pas valable d'un classeur à l'autre. Modifie la macro
"AdapterFormulesPointageCA()" pour recevoir le paramètre "Onglet" et
passe celui-ci dans la commande Run.
Cordialement.
Daniel

Bonjour,
Je déclare en début d'un Module (du fichier bnq.xls):

Public Onglet As String

Puis dans ce module j'appelle une macro

Run "PERSO.xls!AdapterFormulesPointageCA"

La macro "AdapterFormulesPointageCA()" utilise la variable "Onglet"
laquelle est vide lors de l'exécution.

Cela signifierait-il qu'une exécution "Run"
ignore les déclarations "Public" faites ailleurs ?

Je peux comprendre, mais j'aimerais avoir la confirmation.

Merci




Publicité
Poster une réponse
Anonyme