Je recommence:
Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "Flash"
End Sub
Sub StopIt()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Flash", schedule:=False
ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open()
flash
End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la
cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 2 Then
If (Target = "nouveau") Then
flash
Else
StopIt
End If
End If
End Sub
He, bien, cela marche un coup sur deux....
Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash",
schedule:=False"
de la fonction "stop it"...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FxM
Bonsoir,
On ne peut pas déprogrammer quelque chose qui n'est pas (plus) programmé (double annulation)
@+ FxM
fred wrote:
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...
Si quelqu'un pouvait me sortir de là. Merci,
FRED.
Bonsoir,
On ne peut pas déprogrammer quelque chose qui n'est pas (plus)
programmé (double annulation)
@+
FxM
fred wrote:
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence:
Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "Flash"
End Sub
Sub StopIt()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Flash", schedule:úlse
ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open()
flash
End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la
cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 2 Then
If (Target = "nouveau") Then
flash
Else
StopIt
End If
End If
End Sub
He, bien, cela marche un coup sur deux....
Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash",
schedule:úlse"
de la fonction "stop it"...
On ne peut pas déprogrammer quelque chose qui n'est pas (plus) programmé (double annulation)
@+ FxM
fred wrote:
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...
Si quelqu'un pouvait me sortir de là. Merci,
FRED.
Denis Michon
Bonjour Fred,
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module Public Ok As Boolean Public LaCellule As Range '--------------- Sub flash() NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With DoEvents If Ok = False Then LaCellule.Font.ColorIndex = xlAutomatic Exit Sub End If Application.OnTime NextTime, "Flash" End Sub '--------------- Sub StopIt()
Ok = False
End Sub '---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la macro...
Évidemment tu peux mettre la condition que tu désires....
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then If Target.Value > 5 And Target.Value < 10 Then Set LaCellule = Target Ok = True flash Else StopIt End If End If
End Sub '----------------------------
Salutations!
"fred" a écrit dans le message de news:% Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...
Si quelqu'un pouvait me sortir de là. Merci,
FRED.
Bonjour Fred,
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module
Public Ok As Boolean
Public LaCellule As Range
'---------------
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
DoEvents
If Ok = False Then
LaCellule.Font.ColorIndex = xlAutomatic
Exit Sub
End If
Application.OnTime NextTime, "Flash"
End Sub
'---------------
Sub StopIt()
Ok = False
End Sub
'---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la macro...
Évidemment tu peux mettre la condition que tu désires....
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If Target.Value > 5 And Target.Value < 10 Then
Set LaCellule = Target
Ok = True
flash
Else
StopIt
End If
End If
End Sub
'----------------------------
Salutations!
"fred" <rso@laposte.net> a écrit dans le message de news:%23egIHKmhDHA.1820@TK2MSFTNGP09.phx.gbl...
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence:
Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "Flash"
End Sub
Sub StopIt()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Flash", schedule:úlse
ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open()
flash
End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la
cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 2 Then
If (Target = "nouveau") Then
flash
Else
StopIt
End If
End If
End Sub
He, bien, cela marche un coup sur deux....
Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash",
schedule:úlse"
de la fonction "stop it"...
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module Public Ok As Boolean Public LaCellule As Range '--------------- Sub flash() NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With DoEvents If Ok = False Then LaCellule.Font.ColorIndex = xlAutomatic Exit Sub End If Application.OnTime NextTime, "Flash" End Sub '--------------- Sub StopIt()
Ok = False
End Sub '---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la macro...
Évidemment tu peux mettre la condition que tu désires....
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then If Target.Value > 5 And Target.Value < 10 Then Set LaCellule = Target Ok = True flash Else StopIt End If End If
End Sub '----------------------------
Salutations!
"fred" a écrit dans le message de news:% Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...
Si quelqu'un pouvait me sortir de là. Merci,
FRED.
fred
Merci de ta réponse, je m'y met aussitôt et te tiens informé. Bonne soirée.
FRED
"Denis Michon" a écrit dans le message de news:tH1eb.80373$
Bonjour Fred,
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module Public Ok As Boolean Public LaCellule As Range '--------------- Sub flash() NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With DoEvents If Ok = False Then LaCellule.Font.ColorIndex = xlAutomatic Exit Sub End If Application.OnTime NextTime, "Flash" End Sub '--------------- Sub StopIt()
Ok = False
End Sub '---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la macro...
Évidemment tu peux mettre la condition que tu désires....
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then If Target.Value > 5 And Target.Value < 10 Then Set LaCellule = Target Ok = True flash Else StopIt End If End If
End Sub '----------------------------
Salutations!
"fred" a écrit dans le message de news:%
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...
Si quelqu'un pouvait me sortir de là. Merci,
FRED.
Merci de ta réponse, je m'y met aussitôt et te tiens informé.
Bonne soirée.
FRED
"Denis Michon" <denis.michon@cgocable.ca> a écrit dans le message de
news:tH1eb.80373$C92.33347@charlie.risq.qc.ca...
Bonjour Fred,
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module
Public Ok As Boolean
Public LaCellule As Range
'---------------
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
DoEvents
If Ok = False Then
LaCellule.Font.ColorIndex = xlAutomatic
Exit Sub
End If
Application.OnTime NextTime, "Flash"
End Sub
'---------------
Sub StopIt()
Ok = False
End Sub
'---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle
s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la
macro...
Évidemment tu peux mettre la condition que tu désires....
'----------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
If Target.Value > 5 And Target.Value < 10 Then
Set LaCellule = Target
Ok = True
flash
Else
StopIt
End If
End If
End Sub
'----------------------------
Salutations!
"fred" <rso@laposte.net> a écrit dans le message de
news:%23egIHKmhDHA.1820@TK2MSFTNGP09.phx.gbl...
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence:
Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash()
NextTime = Now + TimeValue("00:00:01")
With ActiveWorkbook.Styles("Flash").Font
If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2
End With
Application.OnTime NextTime, "Flash"
End Sub
Sub StopIt()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Flash", schedule:úlse
ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open()
flash
End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la
cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 2 Then
If (Target = "nouveau") Then
flash
Else
StopIt
End If
End If
End Sub
He, bien, cela marche un coup sur deux....
Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2,
et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash",
schedule:úlse"
de la fonction "stop it"...
Merci de ta réponse, je m'y met aussitôt et te tiens informé. Bonne soirée.
FRED
"Denis Michon" a écrit dans le message de news:tH1eb.80373$
Bonjour Fred,
Essaie ceci : Voici un exemple à partir de ta procédure...
Comme je n'ai pas vraiment compris... je me suis contenté d'un exemple...
Dans un module standard :
'Variable à déclarer dans le haut du module Public Ok As Boolean Public LaCellule As Range '--------------- Sub flash() NextTime = Now + TimeValue("00:00:01")
With LaCellule.Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With DoEvents If Ok = False Then LaCellule.Font.ColorIndex = xlAutomatic Exit Sub End If Application.OnTime NextTime, "Flash" End Sub '--------------- Sub StopIt()
Ok = False
End Sub '---------------
Et dans le code module où l'action se déroule :
La cellule flashera dès que sa valeur se situera entre 5 et 10 sinon elle s'arrêtera.
Lorsque la cellule est en mode édition... cela arrête momentanément la macro...
Évidemment tu peux mettre la condition que tu désires....
'---------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then If Target.Value > 5 And Target.Value < 10 Then Set LaCellule = Target Ok = True flash Else StopIt End If End If
End Sub '----------------------------
Salutations!
"fred" a écrit dans le message de news:%
Euh, désolé, j'ai glissé et envoyé trop vite...
Je recommence: Me revoici encore avec mes problèmes de cellule clignotante:
Dans un module, je place le code:
Sub flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub
Sub StopIt() NextTime = Now + TimeValue("00:00:01") Application.OnTime NextTime, "Flash", schedule:úlse ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic
End Sub
Pour qu'il s'exécute à l'ouverture, je place dans l'open du workbook:
Private Sub Workbook_Open() flash End Sub
Pour effectuer une condition (ex si il y a le texte "Nouveau" dans la cellule a2"), je place ceci dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Row = 2 Then If (Target = "nouveau") Then flash Else StopIt End If End If End Sub
He, bien, cela marche un coup sur deux.... Le plus souvent, j'otiens une erreur lorsque je change les valeurs de a2, et
le déboguer s'arrête sur la ligne "Application.OnTime NextTime, "Flash", schedule:úlse" de la fonction "stop it"...