Programme VBA actualisé
Nico0044
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un programme sous VBA et j'aimerais qu'il se répète toutes les 10 min par exemple automatiquement.
Voici mon programme
Private Sub form_load()
Dim i As Integer, fin As Integer
ActiveCell.SpecialCells(xlLastCell).Select
fin = ActiveCell.Row
Range("A1").Select
For i = 1 To fin
If Range("C" & i).Value = 0 Then
Range(i & ":" & i).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
Range("A1").Select
End Sub
j'ai un programme sous VBA et j'aimerais qu'il se répète toutes les 10 min par exemple automatiquement.
Voici mon programme
Private Sub form_load()
Dim i As Integer, fin As Integer
ActiveCell.SpecialCells(xlLastCell).Select
fin = ActiveCell.Row
Range("A1").Select
For i = 1 To fin
If Range("C" & i).Value = 0 Then
Range(i & ":" & i).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
Range("A1").Select
End Sub
A voir également:
- Programme VBA actualisé
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
Je ne vois pas d'autre solution que de mettre le code dans une boucle se déclenchant toutes les 10 minutes, vu que l'inénarrable OS micro$oft ne propose pas de programmation de tâches fiable.
Stéphane Ascoët dis lui que tu sais pas, c pas grave
ton idée est bonne mais pour la réaliser c pas aussi simple que ça
une boucle avec un timer !!! ouais mais comment
ton idée est bonne mais pour la réaliser c pas aussi simple que ça
une boucle avec un timer !!! ouais mais comment
Ben si, à sa place j'y arriverai. C'est mon travail de faire ce genre de choses tous les jours! Mais l'attitude des nouveaux internautes est insupportable: il faut que tout leur tombe dans le bec! Contrairement à ce que tu dis, c'est très facile. Il suffit de mesurer le temps, lorsqu'il dépasse le temps voulu, on affecte un booleen, ce qui déclenche l'exécution du code voulu. À la fin, celui-ci remet le booléen à 0.
bonjour,
Le timer n'existe pas en vba. Il faut donc passer par l'heure système pour en programmer un.
Dans un module tapez le code suivant :
Vous lancez le timer en appelant la procédure LancerTimer(N), puis elle exécute le code de ExecutionTimer toutes les N secondes et enfin, vous l'arrêter avec ArretTimer.
On peut trouver ce code ici : http://www.cathyastuce.com/vba/ex_fonctions_ex.php
;o)
polux
Le timer n'existe pas en vba. Il faut donc passer par l'heure système pour en programmer un.
Dans un module tapez le code suivant :
Dim Lheure As Double Dim Interval as Integer Sub LancerTimer(NbS as integer) 'L'application ExecutionTimer se lancera toutes les 0 heure, 0 minute et Interval seconde Interval =NbS Application.OnTime Now + TimeSerial(0, 0,Interval ), "ExecutionTimer" End Sub Sub ArretTimer() On Error Resume Next Application.OnTime Lheure, "ExecutionTimer", , False End Sub Sub ExecutionTimer() 'code à exécuter à la fin de chaque Interval secondes 'code obligatoire Lheure = Now + TimeSerial(0, 0, Interval ) Application.OnTime Lheure, "ExecutionTimer" End Sub
Vous lancez le timer en appelant la procédure LancerTimer(N), puis elle exécute le code de ExecutionTimer toutes les N secondes et enfin, vous l'arrêter avec ArretTimer.
On peut trouver ce code ici : http://www.cathyastuce.com/vba/ex_fonctions_ex.php
;o)
polux
Voici mon programme:
Private Sub Séléctionligne()
Dim i As Integer, fin As Integer
ActiveCell.SpecialCells(xlLastCell).Select
fin = ActiveCell.Row
Range("A1").Select
For i = 1 To fin
If Range("C" & i).Value = 0 Then
Range(i & ":" & i).Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
Range("A1").Select
End Sub