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 :

Changer valeur d'une variable nommée


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
    Mai 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 26
    Par défaut Changer valeur d'une variable nommée
    Bonjour,

    Je suis en train de créer un fichier que je veux enregistrer comme modèle et qui contient des macros, donc au format *.xltm. Quand on ouvre le modèle et qu'on enregistre, l'enregistrement se fait par défaut au format *.xlsx, et non *.xlsm. La seule solution pour remédier à cela semble être de changer le format d'enregistrement par défaut d'Excel. Cela ne me convient pas car je n'ai pas envie (tout simplement ^^) et je ne peux pas imposer ce changement à mes collaborateurs qui utiliseront le modèle.
    Après recherche sur google, j'ai décidé de faire une macro qui vérifie l'extension lors du premier enregistrement du fichier, pour forcer le format par défaut. Je ne trouve pas cette solution extraordinaire, aussi, si qqn connait un autre moyen de forcer le format d'enregistrement par défaut d'un modèle, je suis preneur.

    Mon problème est la reconnaissance de ce 1er enregistrement. J'ai créé une variable nommée "Bool" (via le Gestionnaire de noms). Cette variable a pour valeur VRAI par défaut, puis passera à FAUX après le 1er enregistrement. J'arrive à récupérer correctement la valeur de la variable, mais je n'arrive pas à la modifier.
    Je précise bien que "Bool" ne fait pas référence à une Range de ma feuille, mais qu'il contient bien directement la valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim toto As Variant
        ' Récupération de la variable
        toto = [Bool]
        ' Comment changer sa valeur ?
        [Bool] = "FAUX"

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 26
    Par défaut
    J'ai trouvé ma solution. Il ne fallait pas récupérer la valeur comme je le faisait, mais passer par l'objet Name et modifier sa Value.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Names("Bool").Value = "FAUX"

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

Discussions similaires

  1. Changer dans un fichier la valeur d'une variable
    Par platax dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2008, 15h07
  2. Réponses: 1
    Dernier message: 11/12/2007, 01h24
  3. changer la valeur d'une variable en cliquant sur un lien
    Par nintendoplayer dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 19h09
  4. changer la valeur d'une variable avec 2 bouton
    Par toutounesan_bg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 03/08/2007, 10h51
  5. [Système] Changer la valeur d'une variable GET
    Par toddy_101 dans le forum Langage
    Réponses: 13
    Dernier message: 31/01/2007, 14h59

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