Pb EXCEL VBA

Résolu
eljojo_e Messages postés 1155 Date d'inscription   Statut Membre Dernière intervention   -  
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Sur mon code vba, j'essaye d'utliser "application.ontime" mais rien ne fonctionne :

Private Sub Workbook_Open()    

Application.ontime Now() + TimeValue("00:00:10"), "ontime" 
  'ontime est un autre code : private sub ontime() 
                
End Sub


Donc à l'ouverture, cela devrai lancer le code dans 10 seconde -> ça, ça marche.

Mais je n'arrive pas à faire en sorte qu'il se relance seul toute les 10 seconde : ce message apparait : Impossible d'éxécuter la macro il se peut que les macro soit désactivé (ou un truc comme ca)...

Merci de votre aide,

Cordialement,

A voir également:

7 réponses

ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Bonjour, ta sub ne peux pas fonctionner de facon répétitive pour la seul raison c'est que tu as mis la fonction en workbook_open, et tu le réouvre pas toutes les 10sec , ^^ !
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Tu devrais mettre ca en plus :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.ontime Now() + TimeValue("00:00:10"), "ontime"  
End Sud


Je présume que ta macro réactualise tes feuilles, donc on boucle sur la boucle :
Tu ouvre ton fichier +10sec ca actualise, ce qui déclenche la deuxieme sub au changement de feuille +10sec.
0
eljojo_e Messages postés 1155 Date d'inscription   Statut Membre Dernière intervention   154
 
Merci, mais je veux pas actualisé au changement d'onglet, mais toute les 10secondes tout court en faite.

Private Sub Workbook_Open()    
Application.ontime Now() + TimeValue("00:00:10"), "ontime"      
End Sub


J'ai essayé dans le sub ontime() de mettre à la fin : Application.ontime Now() + TimeValue("00:00:10"), "ontime"

mais ça plante....
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eljojo_e Messages postés 1155 Date d'inscription   Statut Membre Dernière intervention   154
 
Merci mais ça me remet le message d'erreur. Ce que j'ai fait :

Private Sub Workbook_Open()
Call j
End Sub

Sub j()
Application.ontime Now + TimeValue("00:00:05"), "ontime"
Call ontime
End Sub

Private Sub ontime()
Dim a As String
Application.ScreenUpdating = False
a = ActiveSheet.Name
Sheets("Planète").Select
Range("a1").Select
Calculate
Sheets("Accueil").Select
Calculate
Sheets("Générale").Select
Calculate
If [c12] < Now() Then
    If [b12] <> "" Then
        Range("b9").Select
        Selection.Copy
        Range("g12").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        [f12] = Range("c12").Value
        [b12] = ""
        [b3] = [b3] + 1
    End If
End If

If [c13] < Now() Then
    If [b13] <> "" Then
        Range("c9").Select
        Selection.Copy
        Range("h13").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        [f13] = Range("c13").Value
        [b13] = ""
        [c3] = [c3] + 1
    End If
End If

If [c14] < Now() Then
    If [b14] <> "" Then
        Range("d9").Select
        Selection.Copy
        Range("i14").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        [f14] = Range("c14").Value
        [b14] = ""
        [d3] = [d3] + 1
    End If
End If

If [c15] < Now() Then
    If [b15] <> "" Then
        [f15] = Range("c15").Value
        [b15] = ""
        [e3] = [e3] + 1
    End If
End If

If [c16] < Now() Then
If [c16] < Now() Then
    If [b16] <> "" Then
        [f16] = Range("c16").Value
        [b16] = ""
        [f3] = [f3] + 1
    End If
End If
End If

If [c17] < Now() Then
If [c17] < Now() Then
    If [b17] <> "" Then
        [f17] = Range("c17").Value
        [b17] = ""
        [g3] = [g3] + 1
    End If
End If
End If

If [c18] < Now() Then
If [c18] < Now() Then
    If [b18] <> "" Then
        [f18] = Range("c18").Value
        [b18] = ""
        [h3] = [h3] + 1
    End If
End If
End If

If [c19] < Now() Then
If [c19] < Now() Then
    If [b19] <> "" Then
        [f19] = Range("c19").Value
        [b19] = ""
        [i3] = [i3] + 1
    End If
End If
End If

Sheets(a).Select
Range("a1").Select
a = ""
Application.ScreenUpdating = True

End Sub



Pourquoi àa marche pas chez moi.

(excel 2007)
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
envoi ton fichier xls : www.cjoint.com
que j'essaye sur un autre support, si ca se trouve il te manque une références.
0
eljojo_e Messages postés 1155 Date d'inscription   Statut Membre Dernière intervention   154
 
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour a vous deux,

Juste un mot pour vous aiguiller.

Procedures ou Macros sont dans un ou plusieurs modules.

A+
0
eljojo_e Messages postés 1155 Date d'inscription   Statut Membre Dernière intervention   154
 
^^Merci c'était bien ça, il fallait mettre le code dans un module, alors que moi je l'avais mis dans le thisworkbook.

Merci à tous les deux.
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
oué désolé , c'est exactement ce que j'allais dire, j'avais juste pas eu le temps. reunion oblige ^^
0