Pb EXCEL VBA

Résolu/Fermé
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - Modifié par eljojo_e le 28/06/2012 à 09:31
ViriisXP Messages postés 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 - 28 juin 2012 à 12:20
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
28 juin 2012 à 09:34
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
28 juin 2012 à 09:38
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 lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
28 juin 2012 à 09:48
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
28 juin 2012 à 09:59
0

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

Posez votre question
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
28 juin 2012 à 10:05
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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
28 juin 2012 à 10:20
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 lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
28 juin 2012 à 10:24
0
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705
28 juin 2012 à 11:26
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 lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 153
28 juin 2012 à 11:44
^^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 482 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 11 janvier 2023 40
28 juin 2012 à 12:20
oué désolé , c'est exactement ce que j'allais dire, j'avais juste pas eu le temps. reunion oblige ^^
0