Page 1 sur 1

[PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 16 déc. 2022, 16:31
par Benitole7
Bonjour à tous j'espère que mon post vous trouve bien;

Je suis novice en VBA, je sollicite votre aide sur une erreur que je ne parviens pas à résoudre seul.
Je travaille sur un projet d'export de données sur PCVUE et j'arrive a faire les exports de données sur des fichiers Excel sans problème..
Maintenant j'aimerais pourvoir convertir mon fichier exporter en PDF directement sur PCVUE. J'ai donc opté pour le VBA..
Mais depuis je suis heurté a ce problème "Run-time erreur 1004, "(la méthode select de la classe worksheet a échoué").

Je vous joint mon code

Code : Tout sélectionner

Dim WithEvents ExportStatus As Variable
 

Private Sub fvProject_StartupComplete()

 

    Set ExportStatus = Variables("@Test10")

    ExportStatus.EnableEvents = True

 

End Sub

 

Private Sub ExportStatus_ValueChange()


Dim Y_report As String

Dim Y_pdf As String

 
    If ExportStatus.Value = 0 Then

        
        Dim xlbook As Excel.Workbook

        Y_report = ThisProject.Path & "\DataExports\Poste1.xlsx"

        Set xlbook = Workbooks.Open(Y_report, True, False, , , , True)

        xlbook.ActiveSheet.Unprotect

        xlbook.Application.DisplayAlerts = False

       
        ActiveWorkbook.Sheets("TrendPage01").Select

        Y_pdf = ThisProject.Path & "\Dataexports\Poste1_Trends_" & Format(Now, "hhmmss") & ".pdf"

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=Y_pdf, Quality:=xlQualityStandard

              
        ActiveWorkbook.Sheets("Logpage01").Select

        Y_pdf = ThisProject.Path & "\Dataexports\Poste1_Logs_" & Format(Now, "hhmmss") & ".pdf"

        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=Y_pdf, Quality:=xlQualityStandard

        
        xlbook.Close

        Set xlbook = Nothing

 
    End If

End Sub
Jaimerais savoir comment resoudre le probleme..
Merci a vous

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 16 déc. 2022, 16:56
par philou77
Salut !

ActiveWorkbook.Sheets("TrendPage01").Select

il me semble que ActiveWorkbook.Worksheet(""TrendPage01").Select serait mieux..

Sheets fait référence à une collection donc plusieurs pages !!

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 16 déc. 2022, 18:27
par Benitole7
philou77 a écrit : 16 déc. 2022, 16:56 Salut !

ActiveWorkbook.Sheets("TrendPage01").Select

il me semble que ActiveWorkbook.Worksheet(""TrendPage01").Select serait mieux..

Sheets fait référence à une collection donc plusieurs pages !!
J'ai fait comme tu as dit et a chaque fois il me sort un autre message comme suit "Object doesn't support property or method"

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 16 déc. 2022, 19:42
par philou77
Je ne pourrai pas t'aider beaucoup plus que ça.

je connais pas la méthode ThisProject.path

je vois maintenant que c'est vba PCvue et pas excel...

Donc faut trouver la doc du VBA de PCvue..

Sinon ton code ouvre des fichiers...
Poste1.xlsx
Choisi une feuille dedans 'TrendPage01'
choisi un fichier pdf Poste1_trends xxxxx
essaye d'exporter un feuille excel dans un fichier pdf

si ton erreur viens de là, cela veut dire que l'objet worksheet ne supporte pas la méthode Export
tu peut trouver ici la description de la méthode export pour excel : https://learn.microsoft.com/fr-fr/offic ... ixedformat
si tu ne mets pas les arguments From et To, cela exporte toutes les feuilles du classeur !

autre chose..
tu ne gère pas les erreurs...
tu risque de laisser des fichiers ouverts si ton code se plante en cours de route..

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 28 déc. 2022, 11:52
par Benitole7
philou77 a écrit : 16 déc. 2022, 19:42 Je ne pourrai pas t'aider beaucoup plus que ça.

je connais pas la méthode ThisProject.path

je vois maintenant que c'est vba PCvue et pas excel...

Donc faut trouver la doc du VBA de PCvue..

Sinon ton code ouvre des fichiers...
Poste1.xlsx
Choisi une feuille dedans 'TrendPage01'
choisi un fichier pdf Poste1_trends xxxxx
essaye d'exporter un feuille excel dans un fichier pdf

si ton erreur viens de là, cela veut dire que l'objet worksheet ne supporte pas la méthode Export
tu peut trouver ici la description de la méthode export pour excel : https://learn.microsoft.com/fr-fr/offic ... ixedformat
si tu ne mets pas les arguments From et To, cela exporte toutes les feuilles du classeur !

autre chose..
tu ne gère pas les erreurs...
tu risque de laisser des fichiers ouverts si ton code se plante en cours de route..

Merci pour la précision..
Deh que j'ai des nouvelle je vous en ferai fi...

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 28 déc. 2022, 13:11
par dpo
je ne fais pas de VBA, quand j'ai eu besoin de sortir un pdf j'ai installé un soft style pdf creator (ou autre) qui émule une imprimante
et depuis la supervision j'ai lancé une impression (en scada pcvue ou C wincc)

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 29 déc. 2022, 11:52
par Benitole7
dpo a écrit : 28 déc. 2022, 13:11 je ne fais pas de VBA, quand j'ai eu besoin de sortir un pdf j'ai installé un soft style pdf creator (ou autre) qui émule une imprimante
et depuis la supervision j'ai lancé une impression (en scada pcvue ou C wincc)
Salut
et comment tu t'y es pris?
Je sais que PCVUE imprime les écrans directement sur le Scada a partir d'un bouton…
seulement moi dans mon cas je fais déjà des exports sous fichier Excel que je stock dans Data_Exports..
et j'aimerais que sur action d'un évènement ou appuis sur un bouton, j'imprime directement le ficher stocker.

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 29 déc. 2022, 16:53
par dpo
de mémoire c'était juste pour faire une impression de synoptique avec
window("hardcopy".....) + du paramétrage de pdf creator
en même temps je faisais suivant les projets, une sauevgarde d'un fichier excel ou d'un fichier texte contenant le rapport de prod.
mais je ne faisais pas de pdf d'un fichier excel ou autre.

Re: [PCVue] Run-time erreur 1004, "la méthode select de la classe worksheet a échoué

Posté : 03 janv. 2023, 08:31
par Benitole7
dpo a écrit : 29 déc. 2022, 16:53 de mémoire c'était juste pour faire une impression de synoptique avec
window("hardcopy".....) + du paramétrage de pdf creator
en même temps je faisais suivant les projets, une sauevgarde d'un fichier excel ou d'un fichier texte contenant le rapport de prod.
mais je ne faisais pas de pdf d'un fichier excel ou autre.
Oui le "hardcopy" c'est pour faire un screen du synoptique en cours..'j'ai fais cela pour copier les synoptique en cas de problème mais ne resoud pas mon problème.