Macro date clignotante sur Excel
Résolu/Fermé
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
-
Modifié par GrandCaribou le 31/10/2012 à 20:42
motorest - 2 déc. 2013 à 15:51
motorest - 2 déc. 2013 à 15:51
A voir également:
- Macro date clignotante sur Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si et excel - Guide
- Comment aller à la ligne sur excel - Guide
20 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
28 nov. 2013 à 09:45
28 nov. 2013 à 09:45
Re,
Oubli la demande d'EDGC, chaque code est particulier. Dans ton cas tu aurais dû ouvrir ta propre discussion.
Si je comprends bien ta demande, en colonne F tu saisis la date d'envoi et colonne J l'article concerné, en colonne ? qui reste à définir, la date du retour devis.
si la date de la colonne ? ou tu dois saisir la date du retour devis est vide et la date en colonne F est antérieure à 15 jours par rapport à aujourd'hui les cellule des colonnes F et J clignotent et s'arrête lorsque tu saisis la date du retour en colonne ?
c'est bien cela
Oubli la demande d'EDGC, chaque code est particulier. Dans ton cas tu aurais dû ouvrir ta propre discussion.
Si je comprends bien ta demande, en colonne F tu saisis la date d'envoi et colonne J l'article concerné, en colonne ? qui reste à définir, la date du retour devis.
si la date de la colonne ? ou tu dois saisir la date du retour devis est vide et la date en colonne F est antérieure à 15 jours par rapport à aujourd'hui les cellule des colonnes F et J clignotent et s'arrête lorsque tu saisis la date du retour en colonne ?
c'est bien cela
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
28 nov. 2013 à 16:27
28 nov. 2013 à 16:27
Re,
Colle ce code dans un module et associe chaque macro à un bouton pour tester s'il répond à tes attentes, on verra plus tard le perfectionnement
Option Explicit
Dim BlinkTime As Date
Dim c, x As Range
Public Sub Clignot()
On Error Resume Next
For Each c In Sheets("Feuil1").Range("A2:A150").Cells 'Zone du clignotement
If c.Interior.ColorIndex = -4142 Then
If c.Value <> "" And c.Offset(0, 2) = "" And c.Value + 15 <= Date Then
c.Interior.ColorIndex = 3 'Red
Else
c.Interior.ColorIndex = 0 'Blanc2 actuellement 0 à voir
End If
Else
c.Interior.ColorIndex = 0
End If
Next c
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Clignot"
End Sub
Sub ArretClignot()
On Error Resume Next
Application.OnTime BlinkTime, "Clignot", , False
Sheets("Feuil1").Range("F2:F19,J2:J19").Interior.ColorIndex = xlNone
End Sub
Colle ce code dans un module et associe chaque macro à un bouton pour tester s'il répond à tes attentes, on verra plus tard le perfectionnement
Option Explicit
Dim BlinkTime As Date
Dim c, x As Range
Public Sub Clignot()
On Error Resume Next
For Each c In Sheets("Feuil1").Range("A2:A150").Cells 'Zone du clignotement
If c.Interior.ColorIndex = -4142 Then
If c.Value <> "" And c.Offset(0, 2) = "" And c.Value + 15 <= Date Then
c.Interior.ColorIndex = 3 'Red
Else
c.Interior.ColorIndex = 0 'Blanc2 actuellement 0 à voir
End If
Else
c.Interior.ColorIndex = 0
End If
Next c
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Clignot"
End Sub
Sub ArretClignot()
On Error Resume Next
Application.OnTime BlinkTime, "Clignot", , False
Sheets("Feuil1").Range("F2:F19,J2:J19").Interior.ColorIndex = xlNone
End Sub
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 29/11/2013 à 15:17
Modifié par Mike-31 le 29/11/2013 à 15:17
Re,
Dans les propriétés de ta feuille colle ces trois codes (clic droit sur l'onglet de feuille concerné/visualiser le code)
le premier code lance automatiquement le clignotement dès que l'on revient sur la feuille, le deuxième arrête le clignotement pour permettre les modifications les cellules confortablement, et le troisième arrête le clignotement dès que l'on quitte la feuille ce qui facilite les saisies dans les feuilles du classeur
Private Sub Worksheet_Activate()
Call Clignot
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:C")) Is Nothing Then
Call ArretClignot
Columns("A:C").Interior.ColorIndex = xlNone
End If
Call Clignot
End Sub
Private Sub Worksheet_Deactivate()
Call ArretClignot
End Sub
Dans la Thisbokbook ces deux codes, un pour arrêter le clignotement à la fermeture du classeur et un pour sélectionner la feuille nommée "Feuil1" (à adapter) à l'ouverture et donc lancer le clignotement
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ArretClignot
End Sub
Private Sub Workbook_Open()
Sheets("Feuil1").Select
Call Clignot
End Sub
dans un module colle ces deux codes un qui pilote le clignotement et un pour l'arrêter
Option Explicit
Dim BlinkTime As Date
Dim c, x As Range
Public Sub Clignot()
On Error Resume Next
For Each c In Sheets("Feuil1").Range("A2:A150").Cells 'Zone du clignotement
If c.Offset(0, 2).Interior.ColorIndex = -4142 Then
If c.Value <> "" And c.Offset(0, 2) = "" And c.Value + 15 <= Date Then
c.Offset(0, 2).Interior.ColorIndex = 3 'Red
Else
c.Offset(0, 2).Interior.ColorIndex = 0 'Blanc2 actuellement 0 à voir
End If
Else
c.Offset(0, 2).Interior.ColorIndex = 0
End If
Next c
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Clignot"
End Sub
Sub ArretClignot()
On Error Resume Next
Application.OnTime BlinkTime, "Clignot", , False
Sheets("Feuil1").Range("F2:F19,J2:J19").Interior.ColorIndex = xlNone
End Sub
en paramétrant les codes ainsi tout bouton est inutile, et si tu le souhaites, il est possible de faire clignoter les cellules A, B et C concernées
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Dans les propriétés de ta feuille colle ces trois codes (clic droit sur l'onglet de feuille concerné/visualiser le code)
le premier code lance automatiquement le clignotement dès que l'on revient sur la feuille, le deuxième arrête le clignotement pour permettre les modifications les cellules confortablement, et le troisième arrête le clignotement dès que l'on quitte la feuille ce qui facilite les saisies dans les feuilles du classeur
Private Sub Worksheet_Activate()
Call Clignot
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:C")) Is Nothing Then
Call ArretClignot
Columns("A:C").Interior.ColorIndex = xlNone
End If
Call Clignot
End Sub
Private Sub Worksheet_Deactivate()
Call ArretClignot
End Sub
Dans la Thisbokbook ces deux codes, un pour arrêter le clignotement à la fermeture du classeur et un pour sélectionner la feuille nommée "Feuil1" (à adapter) à l'ouverture et donc lancer le clignotement
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ArretClignot
End Sub
Private Sub Workbook_Open()
Sheets("Feuil1").Select
Call Clignot
End Sub
dans un module colle ces deux codes un qui pilote le clignotement et un pour l'arrêter
Option Explicit
Dim BlinkTime As Date
Dim c, x As Range
Public Sub Clignot()
On Error Resume Next
For Each c In Sheets("Feuil1").Range("A2:A150").Cells 'Zone du clignotement
If c.Offset(0, 2).Interior.ColorIndex = -4142 Then
If c.Value <> "" And c.Offset(0, 2) = "" And c.Value + 15 <= Date Then
c.Offset(0, 2).Interior.ColorIndex = 3 'Red
Else
c.Offset(0, 2).Interior.ColorIndex = 0 'Blanc2 actuellement 0 à voir
End If
Else
c.Offset(0, 2).Interior.ColorIndex = 0
End If
Next c
BlinkTime = Now() + TimeValue("00:00:01") 'le temps du clignotement
Application.OnTime BlinkTime, "Clignot"
End Sub
Sub ArretClignot()
On Error Resume Next
Application.OnTime BlinkTime, "Clignot", , False
Sheets("Feuil1").Range("F2:F19,J2:J19").Interior.ColorIndex = xlNone
End Sub
en paramétrant les codes ainsi tout bouton est inutile, et si tu le souhaites, il est possible de faire clignoter les cellules A, B et C concernées
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 oct. 2012 à 20:53
31 oct. 2012 à 20:53
Salut,
Il n'y a pas de formule pour faire clignoter une cellule ou la valeur contenue dans une cellule, la seule solution est le VBA.
A la conclusion de ta demande "Attention je suis nul en macro, ce sont mes premiers pas!"
le mieux serait de poster ton fichier que l'on mette le code dessus
Pour joindre ton fichier avec ce lien
https://www.cjoint.com/
Il n'y a pas de formule pour faire clignoter une cellule ou la valeur contenue dans une cellule, la seule solution est le VBA.
A la conclusion de ta demande "Attention je suis nul en macro, ce sont mes premiers pas!"
le mieux serait de poster ton fichier que l'on mette le code dessus
Pour joindre ton fichier avec ce lien
https://www.cjoint.com/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
31 oct. 2012 à 20:58
31 oct. 2012 à 20:58
Salut,
tu pourrais aussi passer par la mise en forme conditionnelle, cette façon de faire ne fait pas clignoter la cellule mais tu peux faire afficher le texte ou le fond de la cellule dans une couleur de ton choix.
Merci
tu pourrais aussi passer par la mise en forme conditionnelle, cette façon de faire ne fait pas clignoter la cellule mais tu peux faire afficher le texte ou le fond de la cellule dans une couleur de ton choix.
Merci
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
31 oct. 2012 à 21:51
31 oct. 2012 à 21:51
Bonsoir,
Je préférerais avoir une cellule clignotante car c'est plus visuel quand tu n'as pas l'oeil en permance sur ton tableau excel.
Merci pour ta réponse.
Je préférerais avoir une cellule clignotante car c'est plus visuel quand tu n'as pas l'oeil en permance sur ton tableau excel.
Merci pour ta réponse.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
31 oct. 2012 à 22:07
31 oct. 2012 à 22:07
Re,
Pour écrire un code VBA il faut être précis, si on te demande un exemple de fichier c'est avant tout nous faire gagner du temps et adapter un code à la structure du fichier.
Ton fichier tarde à venir alors pour ce soir je décroche, demain il fera jour
Pour écrire un code VBA il faut être précis, si on te demande un exemple de fichier c'est avant tout nous faire gagner du temps et adapter un code à la structure du fichier.
Ton fichier tarde à venir alors pour ce soir je décroche, demain il fera jour
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
1 nov. 2012 à 12:25
1 nov. 2012 à 12:25
Désolé pour cette réponse tardive!
Voici le fichier en pièce jointe.
Ce sont les cellules en gris que je voudrais faire apparaitre clignotantes (en rouge si possible) lorsque la date est dépassée
Merci de ton aide
https://www.cjoint.com/?0KbmdmLa36w
Voici le fichier en pièce jointe.
Ce sont les cellules en gris que je voudrais faire apparaitre clignotantes (en rouge si possible) lorsque la date est dépassée
Merci de ton aide
https://www.cjoint.com/?0KbmdmLa36w
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
1 nov. 2012 à 16:11
1 nov. 2012 à 16:11
Re,
Dans ta demande tu voulais faire clignoter une cellule en B dont la date avait 10 jours de plus que la date en A
Sur ton fichier joint les dates en F et J n'ont qu'un jour de plus, et le clignotage est il fonction de la date en F et J par rapport à aujourd'hui c'est à dire que si la date dans ces deux colonnes est celle d'aujord'hui la cellule clignote voire Aujourd'hui et antérieur
dans l'exemple le clignotage est lié à aujourd'hui
https://www.cjoint.com/?BKbqkzCCUN8
Dans ta demande tu voulais faire clignoter une cellule en B dont la date avait 10 jours de plus que la date en A
Sur ton fichier joint les dates en F et J n'ont qu'un jour de plus, et le clignotage est il fonction de la date en F et J par rapport à aujourd'hui c'est à dire que si la date dans ces deux colonnes est celle d'aujord'hui la cellule clignote voire Aujourd'hui et antérieur
dans l'exemple le clignotage est lié à aujourd'hui
https://www.cjoint.com/?BKbqkzCCUN8
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
1 nov. 2012 à 20:24
1 nov. 2012 à 20:24
Bonsoir,
Lorsque j'ai posé ma question, mon fichier n'était pas encore créé, ce n'était qu'un exemple que je souhaitais reproduire à mon gré.
J'ai donc créé ce début de fichier cet après midi pour pouvoir te le soumettre.
En fait je souhaite que les cellules de la colonne F et J clignotent lorsque la date est atteinte et restent clignotantes même si la date est dépassée.
Dans l'idéal, il faudrait que je puisse annuler le clignotage en appuyant sur un bouton ou autre (par exemple).
Merci de ton aide.
Lorsque j'ai posé ma question, mon fichier n'était pas encore créé, ce n'était qu'un exemple que je souhaitais reproduire à mon gré.
J'ai donc créé ce début de fichier cet après midi pour pouvoir te le soumettre.
En fait je souhaite que les cellules de la colonne F et J clignotent lorsque la date est atteinte et restent clignotantes même si la date est dépassée.
Dans l'idéal, il faudrait que je puisse annuler le clignotage en appuyant sur un bouton ou autre (par exemple).
Merci de ton aide.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
1 nov. 2012 à 21:19
1 nov. 2012 à 21:19
Re,
Comme cela
https://www.cjoint.com/?BKbvtrPFHip
Comme cela
https://www.cjoint.com/?BKbvtrPFHip
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
1 nov. 2012 à 21:57
1 nov. 2012 à 21:57
Super comme çà!
Mais un pour chaque ligne, pour effacer chaque ligne dès que j'ai fini.
Mais un pour chaque ligne, pour effacer chaque ligne dès que j'ai fini.
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
1 nov. 2012 à 22:43
1 nov. 2012 à 22:43
Re,
que veux tu dire par
Mais un pour chaque ligne, pour effacer chaque ligne dès que j'ai fini
que veux tu dire par
Mais un pour chaque ligne, pour effacer chaque ligne dès que j'ai fini
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
2 nov. 2012 à 09:50
2 nov. 2012 à 09:50
Concentrons nous sur une date clignotante dès qu'elle est dépassée
Le reste n'a pas d'importance
Merci
Le reste n'a pas d'importance
Merci
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
2 nov. 2012 à 10:15
2 nov. 2012 à 10:15
Re,
Alors le fichier est bon non ?
Alors le fichier est bon non ?
edgc
Messages postés
7
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
2 novembre 2012
2 nov. 2012 à 10:52
2 nov. 2012 à 10:52
Super,
Ca marche comme je le souhaitais.
Je n'avais pas fait attention précédemment au clignotage car les macros étaient désactivées.
Désolé et encore merci.
Ca marche comme je le souhaitais.
Je n'avais pas fait attention précédemment au clignotage car les macros étaient désactivées.
Désolé et encore merci.
motorest
Messages postés
1
Date d'inscription
mercredi 27 novembre 2013
Statut
Membre
Dernière intervention
27 novembre 2013
27 nov. 2013 à 10:33
27 nov. 2013 à 10:33
Bonjour,
Cette macro est très intéressante
exiterait il une amélioration afin de faire arrêter le clignotement en fonction d'une date d'intervention sur la même ligne mais dans une cellule différente.
exemple avec le même fichier que précédement si nous mettons une date dans la cellule date d'intervention prévu. le clignotmeent s'arrête uniquement sur la ligne concerné
Merci d'avance
Cédric
Cette macro est très intéressante
exiterait il une amélioration afin de faire arrêter le clignotement en fonction d'une date d'intervention sur la même ligne mais dans une cellule différente.
exemple avec le même fichier que précédement si nous mettons une date dans la cellule date d'intervention prévu. le clignotmeent s'arrête uniquement sur la ligne concerné
Merci d'avance
Cédric
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
27 nov. 2013 à 18:48
27 nov. 2013 à 18:48
Bonsoir,
Oui certainement, il suffit de connaitre le critère déclenchant et le critère qui arrêtera le processus, avec les plages contenant ces critères
Mike-31
A+
Oui certainement, il suffit de connaitre le critère déclenchant et le critère qui arrêtera le processus, avec les plages contenant ces critères
Mike-31
A+
Merci pour cette réaction rapide.
en fait, je suis parti du fichier qui se trouve dans la demande de "EDGC" ci dessus.
il souhaitait faire clignoté les cellules de la colonne F et J en fonction de la date du jour et d'une valeur donné.
je cherche à faire arrêter le clignotement dans les cellules lorsque je saisie une valeur (date) dans une des colonnes suivante
Exemple pour ce fichier, le clignotement s'arrête si je saisi une valeur (date) dans la colonne M.
pour mon application perso, j'ai adapté la macro sur un autre fichier, mais je ne trouve pas la solution.
mon fichier comprend une date d'envoi d'un article en réparation dans une "cellule".
au delà de 15 jours sans devis une cellule se met à clignoté en rouge.
dès que je reçois le devis, je saisie la date de réception et la cellule cesse de clignoté.
est ce réalisable?
Merci d'avance
en fait, je suis parti du fichier qui se trouve dans la demande de "EDGC" ci dessus.
il souhaitait faire clignoté les cellules de la colonne F et J en fonction de la date du jour et d'une valeur donné.
je cherche à faire arrêter le clignotement dans les cellules lorsque je saisie une valeur (date) dans une des colonnes suivante
Exemple pour ce fichier, le clignotement s'arrête si je saisi une valeur (date) dans la colonne M.
pour mon application perso, j'ai adapté la macro sur un autre fichier, mais je ne trouve pas la solution.
mon fichier comprend une date d'envoi d'un article en réparation dans une "cellule".
au delà de 15 jours sans devis une cellule se met à clignoté en rouge.
dès que je reçois le devis, je saisie la date de réception et la cellule cesse de clignoté.
est ce réalisable?
Merci d'avance
donc on oubli le précédent fichier.....
en colonne A je saisie la date d'expédition.
en colonne C ma date de réception de devis.
A partir du moment ou j'ai saisi une date d'expédition en A
et que part rapport à la date du jour, 15 jours se sont écoulé sans réception de devis, ma colonne C se met à clignoter jusqu'a ce que je saisisse une date dans la colonne qui clignote donc "C"
est ce valable pour 150 lignes excel
Merci d'avance
Cédric
en colonne A je saisie la date d'expédition.
en colonne C ma date de réception de devis.
A partir du moment ou j'ai saisi une date d'expédition en A
et que part rapport à la date du jour, 15 jours se sont écoulé sans réception de devis, ma colonne C se met à clignoter jusqu'a ce que je saisisse une date dans la colonne qui clignote donc "C"
est ce valable pour 150 lignes excel
Merci d'avance
Cédric
Merci,
J'ai testé un peu dans tous les sens pour voir si tous fonctionne. Cette macro fonctionnne bien.
La date d'envoi se met bien à clignoté une fois que nous avons dépassé 15 jours.
et s'arrête bien lorsqu'on saisi une date en colonne C.
quelques soucis lors des saisies complémentaires, mais rien de grave.
mais j'abuse un peu en fait je souhaiterais que ce soit la cellule C et non la A
date de "réception de devis" qui clignote tant que nous n'avons pas saisie une date quelquonque en C.
on garde tout, il faut juste que le clignotement se fasse en colonne C.
............. A.......................................B............................................C
Date d'envoi en réparation...... réparateur......................date déception du devis
01/11/2013............................... rep 1
15/11/2013;...............................rep12
................................................. rep16
..................................................rep 9
Merci
Cédric
J'ai testé un peu dans tous les sens pour voir si tous fonctionne. Cette macro fonctionnne bien.
La date d'envoi se met bien à clignoté une fois que nous avons dépassé 15 jours.
et s'arrête bien lorsqu'on saisi une date en colonne C.
quelques soucis lors des saisies complémentaires, mais rien de grave.
mais j'abuse un peu en fait je souhaiterais que ce soit la cellule C et non la A
date de "réception de devis" qui clignote tant que nous n'avons pas saisie une date quelquonque en C.
on garde tout, il faut juste que le clignotement se fasse en colonne C.
............. A.......................................B............................................C
Date d'envoi en réparation...... réparateur......................date déception du devis
01/11/2013............................... rep 1
15/11/2013;...............................rep12
................................................. rep16
..................................................rep 9
Merci
Cédric