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 :

Public + Static ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 593
    Points : 153
    Points
    153
    Par défaut Public + Static ?
    Bonjour,

    Dans un module standard, j'ai déclaré une variable "Public"dont je récupère la valeur pour qu'elle s'affiche sur un bouton d'un UserForm. Cette variable, varie en fonction de différents tests...
    Tout fonctionne bien sauf que quand je rouvre mon fichier, le bouton de commande n'affiche plus rien (ce dont je me doutais un peu).

    Question : Peut-on déclarer une variable comme Public mais aussi Static ? Si oui, sur la même ligne de déclaration ?
    Sinon, quelle serait la solution ?

    Merci d'avance pour votre aide éventuelle,
    Cdt

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je n'ai jamais essayé, mais je ne pense pas que ce soit possible. En fait, cela me semble être deux "états" incompatibles. Le rôle d'une variable publique c'est de pouvoir être modifiable de partout et le rôle d'une variable Statique c'est de n'être modifiable que dans sa procédure et de demeurer gelée autrement.

    Ceci dit, il existe quand même des moyens de conserver une valeur en quittant une procédure:

    Un banal fichier texte
    Le registre
    un fichier ini
    Une cellule dans le classeur

    et peut-être d'autres...
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    La déclaration en Public d'une variable dans un module standard rend celle-ci (et donc sa valeur) accessible de quelque endroit du code (et de quelque module de code) où l'on se trouve.

    L'accessibilité est une chose et ne dépend que de la déclaration.
    La valeur d'une variable est autre chose et résulte de son initialisation.
    Une variable accessible mais non encore initialisée (par le code) existe donc, mais sans aucune valeur encore attribuée.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 593
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Merci à tous les deux. Je me suis donc résolu à passer par une cellule du classeur, ce que je voulais éventuellement éviter.
    Cdt

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

Discussions similaires

  1. Methode public static void main (String [] args)
    Par jeremypd dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 09/01/2017, 10h53
  2. public static function = public function
    Par Jcpan dans le forum Langage
    Réponses: 4
    Dernier message: 30/03/2009, 15h28
  3. Protection d'un tableau public static final
    Par sachem dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 07/02/2009, 21h20
  4. Différence entre public static
    Par moooona dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 24/05/2008, 15h23
  5. public static []tableau (double []tableau) ?
    Par rXpCH dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 29/02/2008, 08h34

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