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 variables publiques


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 28
    Par défaut Déclaration variables publiques
    Bonjour à tous,

    J'aimerais définir dès le début de ma Macro des variables public en fonction d'une valeur dans ma feuille excel (grâce ici à une function).

    Cependant, Excel m'indique un message d'erreur:
    Nom : Capture.PNG
Affichages : 746
Taille : 9,2 Ko

    Concernant cette ligne de code:
    Nom : Capture.PNG
Affichages : 696
Taille : 2,4 Ko

    Merci par avance de votre aide,
    Rainmax.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Bonjour,

    Peux-tu nous donner la signature de ta Sub ?

    Si tu as un soucis dans son appel, essaye de lui passer directement une variable, que tu auras instancié avant.

    Du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim maChaine as String
    maChaine = Sheets("Interface").Range("A2").Value
     
    Call Connexion_BDD(maChaine)
    Si ça plante toujours, donne nous un peu plus d'infos sur ta Sub ainsi que ta feuille Excel.


    Slooby.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 28
    Par défaut
    J'ai essayé d'assigner simplement à une variable Public Const, la valeur dans la cellule nommé "BDD_Path" par exemple:
    Nom : Capture.PNG
Affichages : 690
Taille : 2,9 Ko

    Voici le message d'erreur:
    Nom : Capture1.PNG
Affichages : 770
Taille : 8,3 Ko

    Ici, je ne suis n'y dans une Sub ou une fonction, je suis en entête de module où je déclare les variables Public, j'ai l'impression qu'on ne peux définir que en "dure" les variables public à cette endroit :/.

    Merci par avance de votre aide,
    Rainmax.
    Images attachées Images attachées  

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    utiliser une variable publique et non pas une constante ‼ Le message est pourtant clair …



    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  5. #5
    Membre très actif
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Par définition une constante ne peut pas être dynamique.
    Même si ta valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    worksheet("interface").Range("A2").value
    est statique, l'appel via worksheet("interface").Ran...... est un appel dynamique, ce qu'une constante n'acceptera jamais.

    Et donc oui, on ne peut définir qu'en "dur" des constantes publiques (en tout cas je n'ai pas d'autre moyen en tête)
    Par contre, les constantes dans des sub, on peut leur attribuer une variable passée en paramètre (si je ne me trompe pas, à vérifier)

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Re,

    Marc-L et jeanmidudu ont parfaitement répondu à ton problème !

    une variable CONST ne peut pas faire référence à une cellule, car la cellule PEUT changer de valeur, donc elle n'est pas constante.
    une variable PUBLIQUE (classique) uniquement peut elle changer (rien ne l'en empêche) et elle peut être utilisée dans ton code comme tu veux (Cf le bout de code que j'ai déjà mis au début pour la déclarer)

    Slooby

  7. #7
    Invité
    Invité(e)
    Par défaut
    Nom : Sans titre.png
Affichages : 651
Taille : 716 octets ça je connais pas!

Discussions similaires

  1. Déclaration de variable publique
    Par Domino40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/04/2010, 10h42
  2. Réponses: 11
    Dernier message: 11/05/2006, 10h09
  3. Réponses: 12
    Dernier message: 03/04/2006, 19h08
  4. variables publiques ou module de classe ?
    Par niclalex dans le forum Access
    Réponses: 3
    Dernier message: 04/10/2005, 18h49
  5. erreur déclaration variables
    Par bobic dans le forum ASP
    Réponses: 4
    Dernier message: 13/09/2005, 10h11

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