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 :

Cellule = nom variable avec variable définie dans VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut Cellule = nom variable avec variable définie dans VBA
    Bonjour,

    J'aimerai pouvoir faire:

    Dans ma feuille excel, mettre "=variable1" dans une cellule

    Dans la macro d'un bouton
    variable1 = 3

    Donc quand je clic sur le bouton, ma cellule m'affiche 3
    J'ai mis 3 pour l'exemple, mais au final ça sera une valeur qui dépendra d'autres trucs

    Je voudrai en quelques une variable globale commune feuille excel / vba
    Quand je défini un nom dans ma feuille excel, je suis obligé de l'attribuer à une cellule ou une plage de cellule et ça je ne veux pas!

    Je ne veux pas non plus écrire "Range("A1")=3" dans ma macro

    Quelqu'un aurait une idée? J'ai l'impression qu'il est impossible de faire ça facilement...

    * Merci *

  2. #2
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    bonjour,

    Ajoute un module (clique droit insertion module) et crée une variable Public

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public mavariable as Integer
    Ensuite tu pourra faire mavariable = 3 et en mettant à jour ta feuille cela marchera.

    J'espere avoir répondu à ta question.

    Explique nous plus en détail car la sa n'a pas été super clair pour ma part.

    Bon courage,

  3. #3
    Membre averti
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Par défaut
    Bonjour,

    Tu peux aussi créer une fonction dont le seul but est de renvoyer la valeur de ta variable.

    Ainsi, dès que tu appeleras ta fonction dans Excel ou dans le code, tu retrouveras ta variable.

    Yersin

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    Merci pour les réponses rapides,

    J'ai créé un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public mavariable As Integer
    Voila le code de mon bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    mavariable = 2
    End Sub
    Dans une case j'ai tapé

    =mavariable
    et il me met #NOM? alors que je voudrai 2

    Pour ce qui est de la fonction, j'y ai pensé, mais je ne comprends pas comment faire

    Admettons que je crée une fonction comme ça dans un module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function fonc1(var)
    fonc1 = var
    End Function
    et que dans ma case je tape

    =fonc1()
    Je mets quoi dans le code du bouton du coup??

  5. #5
    Membre averti
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Par défaut
    Pour la fonction tu peux mettre le calcul de ta variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function fonc1()
          fonc1 = 2
    End Function
    Dans Excel tu mets:

    =fonc1()
    Par contre, y a pas besoin de bouton.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    Mais j'ai besoin du bouton ^^

    Pour l'exemple on a mis mavariable = 2

    En réalité dans mon bouton il y a des calculs qui dépendent d'autres trucs, et qui donne au final mavariable = ...

  7. #7
    Membre averti
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Août 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 16
    Par défaut
    Dans ce cas, tu fais un mixte de nos réponses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public mavariable As Integer
     
    Public Function fonc1() 'la fonction
          fonc1 = mavariable
    End Function
     
    Sub Btn()' la procédure avec le calcul de ta variable
        mavariable = 1 + 3'le calcul de ta variable
        Worksheets("Feuil1").Calculate' le recalcul des onglets avec la fonction
    End Sub
    Yersin

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut
    Youhou ça marche
    merci beaucoup

    Et c'est là qu'on se dit "pfff j'aurai quand meme pu trouver tout seul " ... Quel gros noob lol

    Edit: j'ai remplacé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    worksheet("feuil1").calculate
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CalculateFullRebuild
    car il ne me recalculait pas la feuille à chaque fois, et je n'ai pas réussi à déterminer ce qui faisait que parfois il recalculait, parfois non. Du coup ça calcule toutes les feuilles...

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

Discussions similaires

  1. 'Erreur 91 variable objet non défini dans l'exécution d'un userform
    Par Jey14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/11/2013, 10h23
  2. Réponses: 2
    Dernier message: 23/11/2011, 11h22
  3. Réponses: 3
    Dernier message: 30/11/2010, 17h23
  4. variable avec du vbs et vba
    Par loufred dans le forum VBScript
    Réponses: 3
    Dernier message: 16/10/2009, 08h50
  5. Réponses: 2
    Dernier message: 08/12/2005, 15h34

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