IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

variable a utiliser dans plusieurs modules


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut variable a utiliser dans plusieurs modules
    Sinon j'aurais une petite question ou je ne trouve pas de réponse ...


    par exemple j'ai une variable a utilisé dans plusieurs modules ( une direction d'un répertoire)

    repertoire = "C:\ ... \ travail"

    Dois je le retaper dans tous mes module ou ya t'il une facon de le définir en " global " ???

    J'espere etre cette fois ci plus clair

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 261
    Points : 216
    Points
    216
    Par défaut
    Déclare ta variable dans n'importe quel module de la façon suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Repertoir as string
    ensuite tu peux l'utiliser partout !

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Loool non ce n'est pas cela que je veux dire, je m'explique.

    J'ai creer un module déclarant mes variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Global NomFichier As String
    Global repertoire As String
    Global Image As Object
    Global i, j, k As Integer
    Mais ce que je voudrai c'est définir mes variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NomFichier = "blablabla"
    repertoire = " C : \ ... \ fichier\"
    Et je voudrai ne pas a les avoir a les définir dans chaque module.

    Plus clair ???


  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Points : 61
    Points
    61
    Par défaut
    En utilisant des constantes non ? Dans ton module qui contient tes variables "globales"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Const Variable As Type = Valeur
    En l'occurence dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Const NomFichier As String = "blablabla"
    Public Const repertoire As String = " C : \ ... \ fichier\"
    Public Const Image As Object
    Public Const i, j, k As Integer
    L'avantage c'est que si tu dois changer de valeur, tu change directement une fois, l'inconvénient c'est que tu ne peux pas la changer en cours de route dans ton programme.

  5. #5
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Loool non ce n'est pas cela que je veux dire, je m'explique.
    Ben si, c'est exactement ce que justgreat t'explique, genre dans le module : Module1_Chemins

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Option Explicit
    Option Private Module
    Option Base 1
     
     
    Public gvStrChemS0 As String
    Public gvStrChemS1 As String
    Public gvStrChemS2 As String
    Public gvStrChemS3 As String
    Public gvStrChemS4 As String
     
    Sub AttriVar()
    .../...
    gvStrChemS1 = "ACTIVITE COMMERCIAL " ' avec espace en fin
    gvStrChemS2= "CONTACT_" & gvstrID& "\"
    gvStrChemS3 = "BASE DE DONNEES\"
    gvStrChemS4= "DOCUMENTS MODELES\"
     
    .../...
    end sub
    ce pourrait d'ailleurs être des constantes...


    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Il me met un mesage d'erreur sur ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Const repertoire_fichier As String = "C:\ .. \ fichier "
    il me dit nom ambigu ...

    Ca viens de quoi ?


  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Points : 61
    Points
    61
    Par défaut
    repertoire_fichier n'existe-t-il pas déjà quelquepart ? le nom d'un module ou nimporte quoi d'autre ?

    Edit: chez moi ca fonctionne sur un tout petit code (juste en voulant afficher le contenu de la variable"

    Au clic sur un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CommandButton1_Click()
        MsgBox repertoire_fichier
    End Sub
    Dans un module appelé globales
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Const repertoire_fichier As String = "C:\mesdocuments\fichier"

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Il n'aime pas la synthaxe ...

    pourtant j'ai retesté avec un lien " bateau" ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Public Const repertoire As String = "C:\Documents and Settings\BDE3\Mes documents\Mes images"
    ... je comprend pas

  9. #9
    Futur Membre du Club
    Inscrit en
    Avril 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    C'est bon je viens de comprendre c'est parce que j'avais laisser le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Global repertoire As String
    No comment...

    Merci beaucoup de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. une variable utilisée dans plusieurs modules
    Par kekule10 dans le forum Général Python
    Réponses: 0
    Dernier message: 22/07/2014, 01h01
  2. [AC-2000] Mémoriser une variable pour utilisation dans plusieurs procédures
    Par P'tit aviateur dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/07/2009, 10h49
  3. Variables différentes dans plusieurs modules VBA
    Par soeursourire dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/11/2008, 13h45
  4. Variable global utilisable dans plusieurs Forms
    Par nams2590 dans le forum Visual C++
    Réponses: 13
    Dernier message: 11/12/2007, 11h34
  5. Réponses: 3
    Dernier message: 29/05/2007, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo