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 :

transférer des variables d'une feuille à une autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut transférer des variables d'une feuille à une autre
    Bonjour à tous,

    J'ai un petit problème : Je souhaite envoyer des variables d'un fichier excel A vers un fichier excel B pour que ce dernier fasse des calculs et qu'il me renvoie ensuite les résultats de ses calculs dans la feuille A.

    Dans le fichier excel A j'ai par exemple ces variables :
    dans la cellule B5, j'ai la valeur : N3
    dans la cellule C5, j'ai la valeur : H
    dans la cellule D5, j'ai la valeur : 2

    Par l'intermédiaire d'un bouton "ENVOIE", je veux envoyer ces variables dans la fichier excel B pour que les champs concernés se remplissent par les valeurs N3, H et 2.

    Question 1 : Comment coder cette action d'envoi de données ?

    Question 2 : Comment lui dire ensuite de me renvoyer automatiquement les résultats des calculs qu'il doit effectuer (donc sans appuyer sur un bouton contenu dans le fichier excel B) ?

    J'espère être claire :s
    Merci par avance pour votre aide!!
    Aud- (débutante)

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé 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 : 72
    Localisation : France

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

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

    Il serait utile que tu expliques ce qui est sensé se passer dans B, par exemple : placer les données D1 en B5 de feuille1, D2, ...; le calcul est fait par des formules de feuilles, par la macro maMacro, ...; les résultats sont R1 dans ... et R2 dans ...

    Cela devrait permettre de te répondre.

    Cordialement,
    PGZ

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    en fait tous les calculs à effectuer dans la feuille B existent déjà.
    en gros, j'ai besoin d'avoir les variables du fichier A pour pouvoir choisir une ligne de calcul à traiter dans le fichier B pour qu'à l'issue de ces calculs, je récupère les résultats d'un tableau dans mon fichier A.

    Est-ce que ce que je demande est possible à votre avis?
    au pire, laissez-moi un espace vide quand vous parlez des calculs du fichier B dans votre code (par exemple {la c'est tes calculs...}) et vous m'expliquer le reste?

    Merci par avance pour votre aide!
    Aud-

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé 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 : 72
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Pour essayer de te répondre avec les indications que tu donnes :
    • je suppose que le code à rédiger est dans le projet du classeur A
    • Je suppose qu'il faut copier la cellule D7 de la feuille F1 du classeur A dans la cellule B3 de la feuille F1 du classeur B
    • Je ne m'occupe pas du calcul dans le classeur B
    • le résultat de la cellule K8 de la feuille F2 du classeur B est à placer dans la cellule A8 de la feuille F1 du classeur A

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DIm wbkB as Excel.Workbook
     
    Set wbkB = Workbooks("B")
    wbkB.worksheets("F1").Range("B3").Value = Thisworkbook.Worksheets("F1").Range("D7").Value
    ...'calcul dans B
    Thisworkbook.worksheets("F1").Range("A8").Value = wbkB.Worksheets("F2").Range("K8").Value
     
    Set wbkB = nothing
    En espérant que cela t'aide,

    PGZ

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    Premier constat, il n'aime pas la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wbkB = Workbooks("B")
    je suppose qu'il faut que je le remplace par qqch.... mais quoi ? un nom ? un chemin d'accès ?

    merci par avance
    Aud-

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par canary Voir le message
    en fait tous les calculs à effectuer dans la feuille B existent déjà.
    en gros, j'ai besoin d'avoir les variables du fichier A pour pouvoir choisir une ligne de calcul à traiter dans le fichier B pour qu'à l'issue de ces calculs, je récupère les résultats d'un tableau dans mon fichier A.
    et
    Citation Envoyé par canary Voir le message
    Premier constat, il n'aime pas la ligne

    Code :
    Set wbkB = Workbooks("B")je suppose qu'il faut que je le remplace par qqch.... mais quoi ? un nom ? un chemin d'accès ?
    Bonsoir,

    Alors, finalement : B est un classeur ou une feuille ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    pour etre précise : le fichier A s'appelle "Outil" et la feuille s'apelle "Commerciaux"

    le fichier B s'appelle "DECOMPO" et la feuille "données"

    donc je remplace par quoi alors?

    merci pour votre aide!
    aud-

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Il est temps de le préciser .....
    Il te faut alors faire référence aux deux (classeur et feuille).

  9. #9
    pgz
    pgz est déconnecté
    Expert confirmé 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 : 72
    Localisation : France

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

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

    Bravo ucfoutu. En 1 message tu as obtenu le nom de 4 objets! Très fort

    Canary, dans le code que je t'ai donné, tu remplaces A, B, Feuil1, ... par les noms de tes objets. Cela va de soie comme on dit à Lyon.

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wbkB = Workbooks("DECOMPO")
    .

    Bonne journée,

    PGZ

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    heum... alors j'ai tout essayé...
    "DECOMPO" puis "DECOMPO.xls" puis même le chemin pour accéder à DECOMPO.xls mais... marche pas :s arf!
    il faut que les fichiers soient tous dans le même répertoire? (c'est le cas en ce moment)

  11. #11
    pgz
    pgz est déconnecté
    Expert confirmé 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 : 72
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Citation Envoyé par canary Voir le message
    heum... alors j'ai tout essayé...
    "DECOMPO" puis "DECOMPO.xls" puis même le chemin pour accéder à DECOMPO.xls mais... marche pas :s arf!
    il faut que les fichiers soient tous dans le même répertoire? (c'est le cas en ce moment)
    Non, ils peuvent être enregistrés dans des répertoires différents.
    Ton classeur "DECOMPO" est-il déjà ouvert?

    PGZ

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    okkk tout va très bien, c'est bon ça marche nikel merci!

    Juste une dernière question, à quoi sert cette ligne de code :
    Merci à tous pour votre précieuse aide
    Bonne soirée
    aud-

  13. #13
    pgz
    pgz est déconnecté
    Expert confirmé 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 : 72
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Citation Envoyé par canary Voir le message
    Juste une dernière question, à quoi sert cette ligne de code :
    Bonsoir,

    Quand on écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wbkB = Workbooks("DECOMPO")
    on affecte à la variable wbkB l'objet classeur "DECOMPO". Ce qui implique l'inscription en mémoire d'une description de cet objet.

    Quand on a fini, on fait Pour libérer la variable et l'espace mémoire correspondant.

    Cordialement,

    PGZ

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

Discussions similaires

  1. Transférer des données d'une feuille à une autre du même classeur.
    Par jacko842 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/01/2009, 14h25
  2. transférer des variables d'un sub à l'autre
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/06/2008, 22h03
  3. [VBA-E]Trouver et recopier des cellules d'une feuille à une autre
    Par sk8bcn dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/08/2006, 16h01
  4. [VBA_E]:copier des lignes d'une feuille à une autre
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/06/2006, 16h42
  5. [VBA] Transmettre des données d'une feuille à l'autre
    Par Overflow64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 09h58

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