Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [VBA excel] récupérer le nom d'une variable [ Langages dérivés / VBA ] (outofbusiness)

mardi 10 avril 2007 à 00:31:59 | [VBA excel] récupérer le nom d'une variable

outofbusiness

bonjour,

dans mon module, je voudrais récupérer une variable (sa valeur) de type string provenant d'un autre module.

est ce que cela est possible ?
si oui, comment s'il vous plait ??

merci :-)

mardi 10 avril 2007 à 00:45:30 | Re : [VBA excel] récupérer le nom d'une variable

mortalino

Membre Club


Salut,

oui, c'est possible, pour cela, il faut déclarer dans ton module la variable de type Public, dans les déclarations de ton module (au dessus de tous tes codes)

Exemple :


' **** dans Module1

Public sMaVariable As String

Sub Test()
    sMaVariable = "Bonjour"
End Sub

' **** dans Module2

Sub Test2()
    Call Test
    MsgBox sMaVariable
End Sub

~ Mortalino ~ Colorisation automatique


@++


  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  

mardi 10 avril 2007 à 10:02:45 | Re : [VBA excel] récupérer le nom d'une variable

outofbusiness

salut !

merci pour ta réponse.
malheureusement ca ne marche pas :-(
enfin ce que tu as écrit marche très bien, mais appliqué à ce que je veux faire, ça ne marche pas .

en fait, j'ai un module 1 avec la procédure qui suit :

sub test()
Application.Dialogs(xlDialogOpen).Show
var = ActiveWindow.Caption
'je demande de saisir un fichier excel et je voudrais garder son nom dans la variable var
end sub

et dans le module 2 :
sub test2()
Call Module1.test
Windows(var).Activate
end sub

voila, cad que je voudrais ainsi pouvoir, dans le module 2, activer le classeur dont le nom a été stocké dans la variable var, car après ouverture de ce fichier, on peut etre amené a ouvrir d'autres classeurs, et réactiver celui-ci (var) ensuite.

merci dsi vous pouvez m'aider à trouver une solution :-)

mardi 10 avril 2007 à 10:10:21 | Re : [VBA excel] récupérer le nom d'une variable

outofbusiness

en ce truc marche si je mets tout ce code au sein d'une meme procédure dans un meme module.
mais j'aurais besoin de mettre mon code dans 2 modules comme dit dans le post précédent.

mardi 10 avril 2007 à 11:46:21 | Re : [VBA excel] récupérer le nom d'une variable

MPi

Et où est-ce que tu déclares tes variables ? et de quelle façon ?
Utilises-tu Option Explicit ? sinon, tu devrais.
Est-ce qu'on parle de Modules standards ou modules de Forms (voire feuilles) ou de classes ?

MPi

mardi 10 avril 2007 à 12:00:56 | Re : [VBA excel] récupérer le nom d'une variable

outofbusiness

salu MPi !

oui j'utilise le Option Explicit. d'ailleurs il figure par défaut.
je déclare les variables entre le option explicit et la procédure.
la variable je la déclare public comme m'a conseillé mortalino
je parle de modules standard, la ou on crée les procédures (pas de sheets ni de user forms)

mardi 10 avril 2007 à 12:12:16 | Re : [VBA excel] récupérer le nom d'une variable

MPi

Ça devrait alors fonctionner, à moins que la variable Var soit déclarée aussi dans la procédure (ou peut-être dans le code de la Form). À ce moment c'est cette dernière qui serait prioritaire...

MPi

mardi 10 avril 2007 à 13:43:55 | Re : [VBA excel] récupérer le nom d'une variable

outofbusiness

non, ca ne fonctionne pas :-(
avec ca (ci-dessous) dans un meme module, ca marche, mais je voudrais écrire dans 2 modules, comme décrit dans mon post précédent :
en faisant pas à pas, j'ai l'impression que l'on perd la valeur de nom lorsque l'on revient dans le module1 depuis le module2. du coup, j'ai un message d'erreur, vu que la variable nom du module1 ne contient rien :-~

Option Explicit

Public nom As String
 
 Sub test()
 
Application.Dialogs(xlDialogOpen).Show
nom = ActiveWindow.Caption
Application.Dialogs(xlDialogOpen).Show
' ici on a ouvert un autre classeur, qui devient alors le classeur actif
 
Windows(nom).Activate
'le classeur ouvert en premier lieu, dont le nom a été dans la variable string nom est activé maintenant.

 End Sub


mercredi 11 avril 2007 à 00:41:35 | Re : [VBA excel] récupérer le nom d'une variable

MPi

Si c'est pour te promener d'un classeur à un autre à l'aide de variable, peut-être pourrais-tu essayer en déclarant des variables-objets As WorkBook

Du genre
Option Explicit
Public SourceProg as Workbook, DestProg as Workbook

Sub Test
    Set SourceProg = ActiveWorkbook
    Application.Dialogs(xlDialogOpen).Show
    Set DestProg = ActiveWorkbook
    ' et là tu peux te promener d'un à l'autre
    SourceProg.Activate
    ....
End Sub

MPi



Cette discussion est classé dans : vba, récupérer, variable, excel, module


Répondre à ce message

Sujets en rapport avec ce message

récupérer adresse d'une cellule en vba excel [ par japytou ] Bonjour,je suis nouveau dans la programme en vba excel.Je sais stocker une adresse de cellule dans une autre cellule excel, cette adresse est du style Excel VBA - Suppression de Module & UserForm [ par JM247L ] Bonjour,J'ai un formulaire dans Excel qui contient des modules et des UserForms.Lorsque le document est archivé, je voudrais pouvoir supprimer les mod VBA EXCEL - Macro variable... [ par Djrome ] Salut les Kracks,Je souhaiterai avoir un code VBA qui exécuterai les actions suivantes:Input box au démarrage de la macro me demandant d'inclure la da VBA excel 2002 vs VISTA [ par bl5730 ] Bonjour à tous,mes recherches ne m'on pas permis de trouver réponses alors je m'en refère à vous.J'ai une application développé en VBA dans excel 2002 vba-excel cellule variable [ par refaat ] Bonjour à tous,peut etre que je pose ma question dans le mauvais forum mais je ne sais pas comment faire!mon problème est le suivant: je veux récup ACCESS VBA - Affecter le nom de la procédure en cours dans une variable [ par JM247L ] Bonjour,Pour la mise en forme d'une gestion d'erreur dans une application Access, je souhaiterai pouvoir récupérer dans une variable le nom de la proc Exécuter un module VBA d'excel à partir de VB6 URGENT [ par Karine ] Je n'arrive pas à trouver une instruction qui me permette de déclencher un module VBA dans un fichier excel depuis VB6.Je voudrais savoir de une si c' variable globale [ par monsnow ] bonjour, je suis novice en la matiere...je voudrais creer une variable globale dans un module et l'utiliser dans une feuille excel...j'ai fait public VBA excel : Importer un module [ par GTY ] Comment peut-on importer un module d'un projet excel dans un autre projet excel.On sait le faire en glisser, je présume donc qu'on doit pouvoir le fai Vba et excel [ par lat333 ] commet faire pour gerer un formulaire fait dans excel par un module vba. C'est a dire, j'ai un formulaire fait dans excel qui permet de afficher quelq


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.