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 :

Remplissage d'un fichier excel annexe via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Technicien en alternance mécanique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en alternance mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut Remplissage d'un fichier excel annexe via VBA
    Bonjour à tous,

    j'ai un problème aujourd'hui pour une application d'entreprise, je suis en train de mettre en place une application VBA qui servira d'interface entre un utilisateur lambda et un logiciel de modélisation 3D.
    Pour faire cela, j'ai besoin de faire passer des variables par un fichier Excel indépendant de ma macro VBA (qui n'est pas créé via Excel).
    J'ai donc réussi à créer mon fichier Excel, choisir le nombre d'onglets, l'enregistrer dans le bon dossier,...
    La seule chose que je n'arrive tout simplement pas à faire est, de remplir mes cases de tableur avec mes variables.

    Voici mon code pour la création et l'enregistrement de mon fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
                'On créer l'objet Excel
               xlApp = CreateObject("Excel.Application")
                'On défini le nombre d'onglets (ici 1)
               xlApp.SheetsInNewWorkbook = 1
                'On ajoute un classeur
                xlBook = xlApp.Workbooks.Add
                'On donne un nom au classeur
               xlBook.SaveAs(path & "\Paramères-usinage-1-" & nom & ".xls")
                'On rend le classeur visible
               xlApp.Visible = False
                'On créer l'objet onglet dans le nouveau classeur créé
               xlSheet = xlBook.Worksheets(1)
                'On affecte un nom aux l'onglets
               xlSheet.Name = "Usinage 1"
                'on libère l'objet onglet pour pouvoir en créer un nouveau ... etc
               xlSheet = Nothing
                xlBook.save()

    Si vous avez une idée, n'hésitez pas
    Je ne sais pas si j'ai été assez claire dans mes explications, mais je peux essayer de mieux faire si besoin.

    Je vous remercie d'avance,
    Paul

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    La seule chose que je n'arrive tout simplement pas à faire est, de remplir mes cases de tableur avec mes variables.
    Où sont tes variables?
    Où exactement veux tu les copier?

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien en alternance mécanique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en alternance mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Salut,
    Désolé si je n'ai pas assez précis dans ma demande, je n'ai mis qu'un petit extrais de mon code.
    Mes variables sont déclarées et calculé dans mon application VBA en voici certaines:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim V1DEXT, V1DINT, V1HAPG, V1HAPS, V1DAPG, V1DAPS As Single
        Dim V2DINT, V2DEXT, V2EPBS, V2ESP As Single
        Dim V3DINTS, V3DINTI, V3DEXTI, V3HUSI, V3ESP As Single
        Dim V4DINTS, V4DINTI, V4DEXTI, V4HUSI As Single
    Le but est de copier ces valeurs dans les cases du tableur que j'ai créé et enregistré précédemment.
    Au final, peut importe les variable que je doit mettre dedans, je pense que ce qui me manque, c'est la syntaxe à utiliser car tout ce que j'ai essayé ne fonctionne pas.
    Merci de ton aide,
    Paul

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien en alternance mécanique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en alternance mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Voici le fichier VBA si ça peut aider ...
    usinage-avd.vb

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Si tu veux mettre le contenu de la variable MaVariable dans la cellule B1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B1").Value = MaVariable
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,2).Value = MaVariable
    Et réciproquement

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Commencer (déjà) par les bases :
    Les variables objets s'établisse par une instruction Set (ouvre l'aide VBA sur ce mot) et non une simple égalité

    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim toto, titi as string
    ne type que titi en string

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien en alternance mécanique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien en alternance mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Merci à vous deux,

    Menhir,
    j'ai bien essayé ces solutions, mais ça n'a pas l'air de fonctionner.
    Je pense que cela vient peut-être du fait que le fichier excel est indépendant de l'application VBA.

    unparia,
    Mon entreprise m'impose d'utiliser visual studio prof 2013 (formalisme et autres raisons obligent) et je sais que certaines syntaxes sont simplifiées dans certains logiciels comme visual studio.
    De ce fait mes déclarations de variables fonctionnent très bien, je pense pas que ce soit ça le problème étant donné que le reste de l’application fonctionne.

    Merci quand même,
    Cdlt,

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    unparia,
    Mon entreprise m'impose d'utiliser visual studio prof 2013
    Le code que tu montres est écrit en VBA et non en Visual Studio.
    J'insiste donc.

    Le lien que tu invites à ouvrir, par contre, semble être un fichier Visual Studio, ce qui laisserait entendre que tu "pilotes" VBA/Excel depuis VB.Net (qui n'est pas la présente section de ce forum).

  9. #9
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par p.martinmahieu Voir le message
    Menhir,
    j'ai bien essayé ces solutions, mais ça n'a pas l'air de fonctionner.
    Je pense que cela vient peut-être du fait que le fichier excel est indépendant de l'application VBA.
    "Ca n'a pas l'air de fonctionner", ça n'est pas vraiment précis comme description de dysfonctionnement.

    J'ai l'impression que ton problème n'est pas de transférer le contenu d'une variable vers une cellule mais, plus basiquement, de dédigner la référence d'une cellule.

    Pour ça, il faut déjà que dans le logiciel qui pilote, tu ais chargé la bibliothèque d'objets Excel (Microsoft Excel XX object Library).

    Ensuite, il faut que tu désignes les objets Excel avec l'application.
    Dans ton cas, c'est le contenu de la variable xlApp.

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Workbooks("MonFichier").Worksheets("MaFeuille").Range("B1") = MaVariable

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

Discussions similaires

  1. copier une feuille excel vers un autre fichier excel en access VBA
    Par acbdev dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/03/2008, 09h32
  2. remplissage d'un fichier excel avec une table access
    Par lupus83 dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/08/2007, 14h24
  3. Réponses: 1
    Dernier message: 29/01/2007, 19h22
  4. [VBA-E]ouvrir fichier excel + boite dialogue VBA
    Par dananounette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2006, 16h13
  5. [VBA]Lien entre fichiers excel : Update en VBA
    Par criocaps dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/01/2006, 09h07

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