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 :

Déclaration de variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut Déclaration de variable
    Bonjour le forum,
    j'aimerais pouvoir déclarer une variable qui serait valable et qui garderait la même valeur pour tous mes modules de mon projet, j'ai bien lut le liens suivant :http://mhubiche.developpez.com/Access/variables/
    Donc si j'ai bien comprit au lieux de déclarer comme sa DIm a as string, je devrait faire Public a as string, simplement, je n'ai pas comprit si je doit le réécrire dans chaque module ou dans un seul, et ou je doit le mettre, tout en haut de mon module soit mon 'option explicit' ou directement dans mon sub?
    D'avance merci

  2. #2
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    Bonjour,

    Il te faut effectivement la déclarer dans la section déclaration d'un module standard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Compare Database
    Option Explicit
     
    Public strVariablePublic As String
     
    Public Sub UneSub()
    'etc...
    Domi2

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    OK, et je doit la redeclarer dans chacun de mes modules ou je souhaite l'utiliser?

  4. #4
    Expert confirmé
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Par défaut
    je doit la redeclarer dans chacun de mes modules ou je souhaite l'utiliser?
    Non, une seule fois dans un module standard.

    Domi2

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    J'ai déclarer ma variable comme cela dans ma feuille excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Public LeFichierAOuvrir As String, classeur As String, nomfeuil As String, classeurorigine As String, nomfeuilleorigine As String
     
    Sub btnOk_Click()
    Et quand je souhaite l'utiliser dans un modul, il me met variable non définit pour la variable classeurorigine

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Ce que dis domi
    Il te faut effectivement la déclarer dans la section déclaration d'un module standard.
    ce que tu répond :

    J'ai déclarer ma variable comme cela dans ma feuille excel
    Rien ne t'empêche dans le code du bouton d'appeler un module standard :

    Dans le code de la feuille ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub btnOk_Click()
    Clique_B1
    End sub
    Dans un module standard :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
    Public LeFichierAOuvrir As String, classeur As String, nomfeuil As String, classeurorigine As String, nomfeuilleorigine As String
     
    Sub Clique_B1
    ' ...
    ' ...
    ' ...
    End sub
    ca devrais fonctionner.

    Nb : pour ma part au lieu d'utiliser des globales j'utilise un onglet excel comme source de données.

    Un exemple perso avec une feuille Cdonnees :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim NFr As Range, CFr As Range
    ' On recupère le nom du fichier dans la deuxième colonne deuxième ligne
    Set NFr = CDonnees.Cells(2, 2): NomFichier = NFr

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

Discussions similaires

  1. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

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