En fouillant sur le site de Fr=E9d=E9ric Sigonneau, j'ai vu=20
des instructions pour avoir une cellule clignotante. Apr=E8s=20
de l=E9g=E8res modifications, cela fonctionne =E0 mon go=FBt, sauf=20
que je voudrais bien que la macro cesse de s'ex=E9cuter =E0 la=20
sortie du programme.
Comment fait-on pour qu'une macro arr=EAte de fonctionner?=20
Car =E0 chaque fois que je ferme l'application, elle s'ouvre=20
d'elle m=EAme automatiquement!!!!
Dans le workbook open, j'appelle l'instruction InitFlash
Sub InitFlash()
Set OldCell =3D ActiveCell
OrigBkgCol =3D ActiveCell.Interior.ColorIndex
OrigTxtCol =3D ActiveCell.Font.ColorIndex
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 0 Then
ActiveCell.Interior.ColorIndex =3D 3 'fond noir
ActiveCell.Font.ColorIndex =3D 2 'texte en blanc
Else
ActiveCell.Interior.ColorIndex =3D=20
(ActiveCell.Interior.ColorIndex + 1) Mod 2
ActiveCell.Font.Color =3D 1
ActiveCell.Interior.ColorIndex =3D 3
End If
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
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
michdenis
Bonjour Denys,
Pour la cellule qui flashe :
Copie tout ce qui suit dans un module standard. UnStop est une variable qui doit être déclaré dans le haut du module.
Pour arrêter la procédure, tu peux utiliser un bouton de commande dans la feuille et lui attacher la macro : "Sub ArreterLaMacro" défini plus bas... ou tu peux utiliser des événements dans le ThisWorkbook :Exemple : le changement de la feuille comme déclencheur pour arrêter la macro . A copier dans le thisWorkbook '-------------------- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
UnStop = False
End Sub '----------------------
Si tu veux pouvoir exécuter une ou des macros sur une feuille donnée sans que cela ne cause de problème avec le fait qu'elle soit protégée. copie ceci dans le ThisWorkbook de ton classeur. Cette procédure va s'exécuter à l'ouverture du classeur et te permettre d'exécuter toutes les macros que tu voudras sur la feuille (ou les feuilles) que tu auras choisies. '------------------------ Private Sub Workbook_Open()
With Worksheets("Feuil1") .Protect "toto", True, True, True, True End With
End Sub '------------------------
L'ensemble des procédures à mettre dans le module standard. '--------------------------------------- Public UnStop As Boolean
Sub InitFlash() UnStop = True Set OldCell = ActiveCell OrigBkgCol = ActiveCell.Interior.ColorIndex OrigTxtCol = ActiveCell.Font.ColorIndex Application.OnTime Now + TimeValue("00:00:01"), "Flash" End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 8 Then ActiveCell.Interior.ColorIndex = 3 'fond noir ActiveCell.Font.ColorIndex = 2 'texte en blanc Else ActiveCell.Interior.ColorIndex = _ (ActiveCell.Interior.ColorIndex + 1) Mod 2 ActiveCell.Font.Color = 1 ActiveCell.Interior.ColorIndex = 3 End If DoEvents If UnStop = False Then Exit Sub Else DoEvents Application.OnTime Now + TimeValue("00:00:01"), "Flash" End If End Sub
Sub ArreterLaMacro() UnStop = False End Sub '--------------------------------
Salutations!
"Denys" a écrit dans le message de news:100201c37dfb$0db5afe0$ Rebonjour,
De plus, je ne peux me servir de cette macro si ma feuille est protégée..... Ca va mal!!!!
Denys
-----Original Message----- Bonjour à tous,
En fouillant sur le site de Frédéric Sigonneau, j'ai vu des instructions pour avoir une cellule clignotante. Après
de légères modifications, cela fonctionne à mon goût, sauf
que je voudrais bien que la macro cesse de s'exécuter à la
sortie du programme.
Comment fait-on pour qu'une macro arrête de fonctionner? Car à chaque fois que je ferme l'application, elle s'ouvre
d'elle même automatiquement!!!!
Dans le workbook open, j'appelle l'instruction InitFlash
Sub InitFlash() Set OldCell = ActiveCell OrigBkgCol = ActiveCell.Interior.ColorIndex OrigTxtCol = ActiveCell.Font.ColorIndex Application.OnTime Now + TimeValue ("00:00:01"), "Flash"
End Sub
Sub Flash() If ActiveCell.Interior.ColorIndex < 0 Then ActiveCell.Interior.ColorIndex = 3 'fond noir ActiveCell.Font.ColorIndex = 2 'texte en blanc Else ActiveCell.Interior.ColorIndex >(ActiveCell.Interior.ColorIndex + 1) Mod 2 ActiveCell.Font.Color = 1 ActiveCell.Interior.ColorIndex = 3 End If Application.OnTime Now + TimeValue("00:00:01"), "Flash" End Sub
J'aimerais bien pouvoir arrêter cette macro...
Merci de votre aide...
Denys .
Bonjour Denys,
Pour la cellule qui flashe :
Copie tout ce qui suit dans un module standard.
UnStop est une variable qui doit être déclaré dans le haut du module.
Pour arrêter la procédure, tu peux utiliser un bouton de commande dans la feuille et lui attacher la macro : "Sub
ArreterLaMacro" défini plus bas... ou tu peux utiliser des événements dans le ThisWorkbook :Exemple : le changement de
la feuille comme déclencheur pour arrêter la macro . A copier dans le thisWorkbook
'--------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
UnStop = False
End Sub
'----------------------
Si tu veux pouvoir exécuter une ou des macros sur une feuille donnée sans que cela ne cause de problème avec le fait
qu'elle soit protégée. copie ceci dans le ThisWorkbook de ton classeur. Cette procédure va s'exécuter à l'ouverture du
classeur et te permettre d'exécuter toutes les macros que tu voudras sur la feuille (ou les feuilles) que tu auras
choisies.
'------------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "toto", True, True, True, True
End With
End Sub
'------------------------
L'ensemble des procédures à mettre dans le module standard.
'---------------------------------------
Public UnStop As Boolean
Sub InitFlash()
UnStop = True
Set OldCell = ActiveCell
OrigBkgCol = ActiveCell.Interior.ColorIndex
OrigTxtCol = ActiveCell.Font.ColorIndex
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 8 Then
ActiveCell.Interior.ColorIndex = 3 'fond noir
ActiveCell.Font.ColorIndex = 2 'texte en blanc
Else
ActiveCell.Interior.ColorIndex = _
(ActiveCell.Interior.ColorIndex + 1) Mod 2
ActiveCell.Font.Color = 1
ActiveCell.Interior.ColorIndex = 3
End If
DoEvents
If UnStop = False Then
Exit Sub
Else
DoEvents
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End If
End Sub
Sub ArreterLaMacro()
UnStop = False
End Sub
'--------------------------------
Salutations!
"Denys" <NSdenys.perreault@rbc.com> a écrit dans le message de news:100201c37dfb$0db5afe0$a401280a@phx.gbl...
Rebonjour,
De plus, je ne peux me servir de cette macro si ma feuille
est protégée..... Ca va mal!!!!
Denys
-----Original Message-----
Bonjour à tous,
En fouillant sur le site de Frédéric Sigonneau, j'ai vu
des instructions pour avoir une cellule clignotante.
Après
de légères modifications, cela fonctionne à mon goût,
sauf
que je voudrais bien que la macro cesse de s'exécuter à
la
sortie du programme.
Comment fait-on pour qu'une macro arrête de fonctionner?
Car à chaque fois que je ferme l'application, elle
s'ouvre
d'elle même automatiquement!!!!
Dans le workbook open, j'appelle l'instruction InitFlash
Sub InitFlash()
Set OldCell = ActiveCell
OrigBkgCol = ActiveCell.Interior.ColorIndex
OrigTxtCol = ActiveCell.Font.ColorIndex
Application.OnTime Now + TimeValue
("00:00:01"), "Flash"
End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 0 Then
ActiveCell.Interior.ColorIndex = 3 'fond noir
ActiveCell.Font.ColorIndex = 2 'texte en blanc
Else
ActiveCell.Interior.ColorIndex >(ActiveCell.Interior.ColorIndex + 1) Mod 2
ActiveCell.Font.Color = 1
ActiveCell.Interior.ColorIndex = 3
End If
Application.OnTime Now + TimeValue("00:00:01"), "Flash"
End Sub
Copie tout ce qui suit dans un module standard. UnStop est une variable qui doit être déclaré dans le haut du module.
Pour arrêter la procédure, tu peux utiliser un bouton de commande dans la feuille et lui attacher la macro : "Sub ArreterLaMacro" défini plus bas... ou tu peux utiliser des événements dans le ThisWorkbook :Exemple : le changement de la feuille comme déclencheur pour arrêter la macro . A copier dans le thisWorkbook '-------------------- Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
UnStop = False
End Sub '----------------------
Si tu veux pouvoir exécuter une ou des macros sur une feuille donnée sans que cela ne cause de problème avec le fait qu'elle soit protégée. copie ceci dans le ThisWorkbook de ton classeur. Cette procédure va s'exécuter à l'ouverture du classeur et te permettre d'exécuter toutes les macros que tu voudras sur la feuille (ou les feuilles) que tu auras choisies. '------------------------ Private Sub Workbook_Open()
With Worksheets("Feuil1") .Protect "toto", True, True, True, True End With
End Sub '------------------------
L'ensemble des procédures à mettre dans le module standard. '--------------------------------------- Public UnStop As Boolean
Sub InitFlash() UnStop = True Set OldCell = ActiveCell OrigBkgCol = ActiveCell.Interior.ColorIndex OrigTxtCol = ActiveCell.Font.ColorIndex Application.OnTime Now + TimeValue("00:00:01"), "Flash" End Sub
Sub Flash()
If ActiveCell.Interior.ColorIndex < 8 Then ActiveCell.Interior.ColorIndex = 3 'fond noir ActiveCell.Font.ColorIndex = 2 'texte en blanc Else ActiveCell.Interior.ColorIndex = _ (ActiveCell.Interior.ColorIndex + 1) Mod 2 ActiveCell.Font.Color = 1 ActiveCell.Interior.ColorIndex = 3 End If DoEvents If UnStop = False Then Exit Sub Else DoEvents Application.OnTime Now + TimeValue("00:00:01"), "Flash" End If End Sub
Sub ArreterLaMacro() UnStop = False End Sub '--------------------------------
Salutations!
"Denys" a écrit dans le message de news:100201c37dfb$0db5afe0$ Rebonjour,
De plus, je ne peux me servir de cette macro si ma feuille est protégée..... Ca va mal!!!!
Denys
-----Original Message----- Bonjour à tous,
En fouillant sur le site de Frédéric Sigonneau, j'ai vu des instructions pour avoir une cellule clignotante. Après
de légères modifications, cela fonctionne à mon goût, sauf
que je voudrais bien que la macro cesse de s'exécuter à la
sortie du programme.
Comment fait-on pour qu'une macro arrête de fonctionner? Car à chaque fois que je ferme l'application, elle s'ouvre
d'elle même automatiquement!!!!
Dans le workbook open, j'appelle l'instruction InitFlash
Sub InitFlash() Set OldCell = ActiveCell OrigBkgCol = ActiveCell.Interior.ColorIndex OrigTxtCol = ActiveCell.Font.ColorIndex Application.OnTime Now + TimeValue ("00:00:01"), "Flash"
End Sub
Sub Flash() If ActiveCell.Interior.ColorIndex < 0 Then ActiveCell.Interior.ColorIndex = 3 'fond noir ActiveCell.Font.ColorIndex = 2 'texte en blanc Else ActiveCell.Interior.ColorIndex >(ActiveCell.Interior.ColorIndex + 1) Mod 2 ActiveCell.Font.Color = 1 ActiveCell.Interior.ColorIndex = 3 End If Application.OnTime Now + TimeValue("00:00:01"), "Flash" End Sub