Relevés à une heure précise

m.alhalli

XLDnaute Nouveau
Bonjour le forum,

dans le but de la supervision d'une ligne de production, je suis amener a faire des relevés depuis un automate plutôt des automates. jusqu'à maintenant le relevé se fait manuellement en cliquant sur un bouton de commande.

Est ce qu'il y a une possibilité de programmer ce relevés à une heure précise soit disant trois fois par jour.

il y a aussi la contrainte de l'archivage que je dois faire a chaque fois que le relevés est fait, est ce qu'il y a aussi la possibilité d'archiver automatiquement.

Merci d'avance.

P.S: je suis novice en vba :)
 

Tibo

XLDnaute Barbatruc
Re : Relevés à une heure précise

Bonjour,

Le fait que tu n'ais pas de réponse est sans doute dû au fait que pas grand n'a compris (moi le premier).

Peux-tu nous envoyer la version actuelle de ton fichier (sans données confidentielles) et expliquer d'après ce fichier ce que tu souhaites obtenir.

A te (re)lire

@+
 

m.alhalli

XLDnaute Nouveau
Re : Relevés à une heure précise

Re;

Le fait que tu n'ais pas de réponse est sans doute dû au fait que pas grand n'a compris (moi le premier).

C'est pour ca que j'ai relancer, parce que pour moi c'était claire.

Peux-tu nous envoyer la version actuelle de ton fichier (sans données confidentielles) et expliquer d'après ce fichier ce que tu souhaites obtenir.

Je fais tout simplement une récuperation de données depuis un automate à l'aide d'une dll (ce qui est confidentiel) et en tapant un peut de code bien sur.

je veux tout simplement une fontcion que je peux mettre sur thisworkbook par exemple qui me permet d'enclencher le code que j'ai mis sur un module à une heure précise.

j'espère que j'étais claire cette fois ci, sinon n'hésitez pas a me demandé plus d'explications.


Merci d'avance
 

gilbert_RGI

XLDnaute Barbatruc
Re : Relevés à une heure précise

Bonjour

dans un module standard

Code:
Dim temps
Sub maj()
    temps = Now + TimeValue("03:00:00") 'mettre le temps voulu "hh:mm:ss"
    Application.OnTime temps, "miseajour"
End Sub
Sub auto_open()
    maj
End Sub
Sub auto_close()
    On Error Resume Next
    Application.OnTime temps, Procedure:="maj", Schedule:=False
End Sub

Sub relance()
    maj
End Sub
Sub miseajour()
'votre procédure
'relance
'si vous ne voulez pas d'arrêt mettre en remarque le code ci dessous et enlevez les remarque du code ci dessus

    rep = MsgBox("votre procédure voulez vous relancer O/N ", vbExclamation + vbYesNo, "")
    If rep = vbYes Then
        relance
    Else
        Exit Sub
    End If
End Sub

Cdlt

RGI
 

Tibo

XLDnaute Barbatruc
Re : Relevés à une heure précise

re,

Dans ce cas, regarde tout en bas de la page, tu as 5 liens vers des fils qui devraient se rapprocher de ce que tu souhaites.

Au delà, il est également possible de faire une recherche plus large directement dans le Forum (Clic sur Recherche en haut)

Bonne recherche et bon app

@+

Edit : Bing ! Salut Gilbert

@+
 

m.alhalli

XLDnaute Nouveau
Re : Relevés à une heure précise

Bonjour

dans un module standard

Code:
Dim temps
Sub maj()
    temps = Now + TimeValue("03:00:00") 'mettre le temps voulu "hh:mm:ss"
    Application.OnTime temps, "miseajour"
End Sub
Sub auto_open()
    maj
End Sub
Sub auto_close()
    On Error Resume Next
    Application.OnTime temps, Procedure:="maj", Schedule:=False
End Sub

Sub relance()
    maj
End Sub
Sub miseajour()
'votre procédure
'relance
'si vous ne voulez pas d'arrêt mettre en remarque le code ci dessous et enlevez les remarque du code ci dessus

    rep = MsgBox("votre procédure voulez vous relancer O/N ", vbExclamation + vbYesNo, "")
    If rep = vbYes Then
        relance
    Else
        Exit Sub
    End If
End Sub

Cdlt

RGI

Merci pour ta réponse;

j'ai mis le code dans un module standard et a part, est ce que je peut lancer l'autre module qui contient les procédure depuis ce module, s'il y a possibilté!! comment ?

Merci
 

m.alhalli

XLDnaute Nouveau
Re : Relevés à une heure précise

la procédure ke je veux lancer est celle la
Code:
Sub readFromPLC_DB3()
Cells(1, 2) = "Test de lecture"

Dim ph As Long, di As Long, dc As Long, x As Integer, NbBytes As Integer

res = initialize(ph, di, dc)
NbBytes = 2
If res = 0 Then
    'res2 = daveReadBytes(dc, daveFlags, 0, 0, 16, 0)
    res2 = daveReadBytes(dc, daveDB, 3, 20, NbBytes, 0)
    If res2 = 0 Then
        
        For x = 0 To NbBytes - 2
        Cells(32, 3) = daveGetS16(dc)
     Next
    End If

.
.
.
.
.
 res2 = daveReadBytes(dc, daveDB, 3, 158, NbBytes, 0)
    If res2 = 0 Then
       
        For x = 0 To NbBytes - 2
         Cells(50, 3) = daveGetS16(dc)
     Next
    End If
'***********************
End If
Call cleanUp(ph, di, dc)
End Sub


Comment puis je faire, sachant que j'ai mis ce que tu m'as donné sur le module2 et celle la est dans le module1?

Merci

Bon app
 

gilbert_RGI

XLDnaute Barbatruc
Re : Relevés à une heure précise

Code:
Dim temps
Sub maj()
    temps = Now + TimeValue("03:00:00") 'mettre le temps voulu "hh:mm:ss"
    Application.OnTime temps, "miseajour"
End Sub
Sub auto_open()
    maj
End Sub
Sub auto_close()
    On Error Resume Next
    Application.OnTime temps, Procedure:="maj", Schedule:=False
End Sub

Sub relance()
    maj
End Sub
Sub miseajour()
readFromPLC_DB3
relance
End Sub

Voilà

ainsi la procédure sera lancée toutes les trois heures
 

m.alhalli

XLDnaute Nouveau
Re : Relevés à une heure précise

Merci beaucoup pour ta patience et ta gentillesse.

le code que tu m'as donné dois fonctionner logiquement, mais le problème ce que quand je lance la macro et lorsqu'il arrive au moment de la lecture des données l'excel beug et se ferme en me donnant ce message
"Microsoft Office Excel a rencontré un problème et doit être fermé. Nous vous prions de nous excuser pour le désagrément encouru."

cela peut etre du à quoi a ton avis?
 

gilbert_RGI

XLDnaute Barbatruc
Re : Relevés à une heure précise

Merci beaucoup pour ta patience et ta gentillesse.

le code que tu m'as donné dois fonctionner logiquement, mais le problème ce que quand je lance la macro et lorsqu'il arrive au moment de la lecture des données l'excel beug et se ferme en me donnant ce message
"Microsoft Office Excel a rencontré un problème et doit être fermé. Nous vous prions de nous excuser pour le désagrément encouru."

cela peut etre du à quoi a ton avis?

modifie le temps mets 3 secondes par exemple et mets un ' devant readFromPLC_DB3

de cette façon 'readFromPLC_DB3

ensuite mets le curseur devant Sub relance() et appuies sur la touche F5 cette action lance la macro toutes les trois secondes si pas de problème ce n'est pas ma macro qui est en cause sinon revenir ici
 

Discussions similaires

Réponses
1
Affichages
245

Statistiques des forums

Discussions
312 485
Messages
2 088 802
Membres
103 971
dernier inscrit
abdazee