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

Automation Discussion :

[WinCC-VBScript] Transferer des donées sur une colonne ligne d'excel


Sujet :

Automation

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut [WinCC-VBScript] Transferer des donées sur une colonne ligne d'excel
    Hello tout le mode

    J'essaye de realiser un script qui permet de transferer une variable sur une ligne et colonne d'Excel
    Le probleme est que je ne voudrais pas que la valeur de la ligne dans le script soit fixe

    Lorsque je met une variable dans "excel.Cells" mon script ne marche plus...
    Exemple: excel.Cells(compteurtrans, 3).Value = ScreenItems("Temps_utilisation_moteur_journée").OutputValue

    ici "compteurtrans" permet de choisir la ligne non?

    Mais le script ne marche marche pas avec la variable... Est ce que j'utilise la bonne methode?



    Merci





    Mon script



    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Sub Click(Byval Item)                        
    Dim g_excelfilename
    Dim excel
    'rajouté
    
    Dim projectname,projectpath,group
    Dim compteurtrans
    
    Set compteurtrans = HMIRuntime.Tags("NbDeTransfert")
    
    'Aktuellen Projektnamen und Pfad ermitteln - Get actual projectname and projectpath
    
    projectname = HMIRuntime.ActiveProject.Name
    projectpath = HMIRuntime.ActiveProject.Path
    
    HMIRuntime.Tags("ProjectName").Write projectname
    HMIRuntime.Tags("ProjectPath").Write projectpath
    
    'rajouté
    
    
    g_excelfilename = HMIRuntime.Tags("ProjectPath").Read & "\Excel1.xls"
    'MsgBox g_excelfilename
    Set excel = CreateObject("Excel.Application")
    excel.Visible = True
    excel.Workbooks.Open g_excelfilename
    excel.Cells(compteurtrans, 3).Value = ScreenItems("Temps_utilisation_moteur_journée").OutputValue
    excel.Cells(4, 4).Value = ScreenItems("Compteur_Dep_journée").OutputValue
    excel.Cells(4, 5).Value = ScreenItems("Compteur_Def_journée").OutputValue
    excel.ActiveWorkbook.Save
    MsgBox ("Voulez vous transferez les valeurs moyennes dans WinCC")
    ScreenItems("V6_ExcelRead_1").OutputValue = excel.Cells(4, 11).Value
    ScreenItems("V6_ExcelRead_2").OutputValue = excel.Cells(5, 11).Value
    ScreenItems("V6_ExcelRead_3").OutputValue = excel.Cells(6, 11).Value
    excel.ActiveWorkbook.Save
    excel.Workbooks.Close
    excel.Quit
    Set excel = Nothing
    
    
    
    
    
    
    
    End Sub

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    pour debugger : affiche ton compteurtrans histoire de connaître sa valeur ...

    +

    si compteurtrans est un un entier enlève le "Set" ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set compteurtrans = HMIRuntime.Tags("NbDeTransfert")
    (set , c'est pour affecter une référence à un objet ...

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    ah ben la message box ne maffiche pas de valeur :s y a rien

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par Esmax Voir le message
    Je probleme est que je programme sur WinCC... est je ne sais pas comment faire afficher la valeur d'une variable interne
    et
    ne fonctionne pas ..?

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    si je viens de rentrer la ligne mais je recois pas la valeur

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    c'est justement là ou j'ai essayé d'apprendre un peu le VB et j'ai donc trouvé le "set..."

    sinon j'ai essayé une autre commande


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compteurtrans = ScreenItems("Compteur_Def_journée").OutputValue


    Mais j'ai toujours pas la valeur qui s'affiche :/

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    a c'est bon j'ai reussi à recuperer la valeur mais avec "screenitems" avec la fonction "hmi..." je n'arrive meme pas à avoir le message

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set compteurtrans = HMIRuntime.Tags("NbDeTransfert")
    msgbox compteurtrans.read

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    oui je recois bien la valeur en rajoutant le ".read", je l'ai egalement rajouté dans la commande "cells"

    Par contre je n'ai pas compris à quel momet il faut mettre un "Set" ou pas


    J'ai juste une derniere question mais c'est plutot pour excel

    Je voudrais faire un calcul de la valeur moyene de ma colonne B mais je recois une erreur car certaines lignes ne sont pas rempli... elle sont rempli au fur et à mesure de mes transferts
    J'ai tapé la fonction =(B2:B200)/K3


    K3 correspond à mon nombre de transfert
    Est ce que je peux remplacer la constante B200 par une variable? Car je nombre de ligne dot j'ai besoin correspod à mon K3

    J'ai egalement le meme probleme pour creer la plage dans le graphisme

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Dite question en rapport avec la programation en Script sous Wincc flex 05...
    Moi je n'ai acces a aucun script peut etre parceque je n'ai que la version compact ? ...

  12. #12
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par Mgros Voir le message
    Dite question en rapport avec la programation en Script sous Wincc flex 05...
    Moi je n'ai acces a aucun script peut etre parceque je n'ai que la version compact ? ...
    Y'a des chances, oui ...

    Il me semble que pour avoir accès au vbscript, il faut une version Wincc Flexible, mais pas certain (moi, je n'ai que celle-ci, alors forcement ...)
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

Discussions similaires

  1. [XL-2013] Reporter des valeurs sur une colonne, exceptée une
    Par carte_blanche dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/04/2015, 07h53
  2. Sommer les valeurs des cellules sur une colonne
    Par neon29200 dans le forum Composants
    Réponses: 1
    Dernier message: 10/05/2012, 01h16
  3. Réponses: 4
    Dernier message: 30/11/2007, 10h10
  4. Aligner des images sur une même ligne
    Par cdevl32 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 08/10/2007, 03h13
  5. SQLServer 2000: Liste des contraintes sur une colonne ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2005, 16h13

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