Programmer un timer sur plusieurs feuilles
Résolu
chrisnapoli
-
chrisnapoli -
chrisnapoli -
Bonjour,
J ai ce code dans un fichier de mon programme de recuperation de cotations par un timer
je voudrais appliquer ce code a quatre feuilles différentes dans le même fichier
je voudrais mettre cette première ligne 4 fois comment dois je faire
Set sh = Sheets("CAC40")
Set sh = Sheets("AEX")
Set sh = Sheets("BEL20")
Set sh = Sheets("PSI20")
J ai ceci pour le moment ,et la procédure ne se fait évidement que sur la première feuille merci de votre aide
Private Sub Workbook_BeforeClose(Cancel As Boolean)
copy_dh
End Sub
Private Sub copy_dh()
Dim sh As Worksheet
Set sh = Sheets("CAC40")
sh.Range("D12:H51").Value = sh.Range("AS12:AW51").Value
sh.Range("C12:C51").ClearContents
sh.Range("C11") = Now
End Sub
J ai ce code dans un fichier de mon programme de recuperation de cotations par un timer
je voudrais appliquer ce code a quatre feuilles différentes dans le même fichier
je voudrais mettre cette première ligne 4 fois comment dois je faire
Set sh = Sheets("CAC40")
Set sh = Sheets("AEX")
Set sh = Sheets("BEL20")
Set sh = Sheets("PSI20")
J ai ceci pour le moment ,et la procédure ne se fait évidement que sur la première feuille merci de votre aide
Private Sub Workbook_BeforeClose(Cancel As Boolean)
copy_dh
End Sub
Private Sub copy_dh()
Dim sh As Worksheet
Set sh = Sheets("CAC40")
sh.Range("D12:H51").Value = sh.Range("AS12:AW51").Value
sh.Range("C12:C51").ClearContents
sh.Range("C11") = Now
End Sub
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
moi je ferais ainsi:
dans thisworkbook:Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) copy_dh End Sub Private Sub Workbook_Open() init_marches End Sub
dans un autre module:Option Explicit Dim marches() As Worksheet Sub copy_dh() Dim marche As Variant Dim fl As Worksheet For Each marche In marches Set fl = marche Call copy_dhfl(fl) Next marche End Sub Private Sub copy_dhfl(sh As Worksheet) sh.Range("D12:H51").Value = sh.Range("AS12:AW51").Value sh.Range("C12:C51").ClearContents sh.Range("C11") = Now End Sub Sub init_marches() ReDim marches(3) Set marches(0) = Sheets("CAC40") Set marches(1) = Sheets("AEX") Set marches(2) = Sheets("BEL20") Set marches(3) = Sheets("PSI20") End Sub-
-
il est important que tu partages chaque fois le texte du message d'erreur que tu reçois avant le coloriage en jaune.
j'ai oublié d'expliquer qu'il fallait sauver, fermer et rouvrir le fichier pour que cela fonctionne. il suffit donc de choisir "terminer" quand tu as le message d'erreur avant d'avoir fermé et rouvert le fichier. -
-
-
sur this workbook
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
copy_dh
End Sub
Private Sub Workbook_Open()
init_marches
End Sub
sur module 8
Option Explicit
Dim marches() As Worksheet
Sub copy_dh()
Dim marche As Variant
Dim fl As Worksheet
For Each marches In marche
Set fl = marche
Call copy_dhfl(fl)
Next marche
End Sub
Private Sub copy_dhfl(sh As Worksheet)
sh.Range("D12:H51").Value = sh.Range("AS12:AW51").Value
sh.Range("C12:C51").ClearContents
sh.Range("C11") = Now
End Sub
Sub init_marches()
ReDim marches(3)
Set marches(0) = Sheets("CAC40")
Set marches(1) = Sheets("AEX")
Set marches(2) = Sheets("BEL20")
Set marches(3) = Sheets("PSI20")
End Sub
-