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 :

Entrée la valeur d'une cellule d'un autre classeur dans une variable


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Entrée la valeur d'une cellule d'un autre classeur dans une variable
    Bonjour,

    Dans un classeur toto.xls, feuille1 j'ai la valeur 500 en B2.
    Dans une macro, je voudrais pouvoir utiliser cette valeur pour faire un produit
    A = X * var_B2

    Je pensais à quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim var_B2 As Range
    set var_B2 = Workbooks("toto.xls").Sheets("feuille1").Range("B2").Value
    Mais ca ne marche pas :/

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.


    Le type de var_B2 est incorrect. Cela ne doit pas être un objet mais une donnée. Type Single, par exemple. Ou alors tu ne prends pas .Value...

    Après, cela devrait marcher si
    • le nom du classeur est correct
    • si le classeur est ouvert et dans la même application Excel
    • si le nom de feuille est correct.

    Tu n'as pas indiqué si ton code lève une erreur.

    Cdlt,

    PGZ

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Heureusement que le we approche, je fais vraiment n'importe quoi, merci de ta patience PGZ. Voici ce que j'ai fait et ca marche bien!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim tjm_fin As String
     
        Windows("DSIC-Outil-Planif RH_V0.2.xlsx").Activate
        Sheets("TJM Brut par Producteur").Select
        Range("B2").Select
        tjm_fin = Selection.Value
    Je n'arrive jamais à avoir la bonne syntaxe pour faire

    tjm_fin = Workbooks("").Sheets(""). etc.

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    Normalement,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tjm_fin = Workbooks("DSIC-Outil-Planif RH_V0.2.xlsx").WorkSheets("TJM Brut par Producteur").Range("B2").Value
    Devrait fonctionner.

    PGZ

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/05/2015, 10h23
  2. Réponses: 12
    Dernier message: 27/07/2014, 10h51
  3. Réponses: 6
    Dernier message: 16/06/2011, 12h45
  4. Réponses: 3
    Dernier message: 08/08/2008, 10h10
  5. Réponses: 5
    Dernier message: 06/04/2007, 14h05

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