Effacer après minuit la couleur d'une ligne SANS MFC

un internaute

XLDnaute Impliqué
Bonjour le forum
Comment faire effacer après minuit la couleur interior color 17d'une ligne par MFC
Mes ligne vont de A6 à G31
Merci pour vos éventuels retours
Cordialement
 

Philippe_JOCHMANS

XLDnaute Junior
Bonjour

Il peut y avoir plusieurs solutions, en voici une, ce n'est peut-être pas la meilleure, mais à tester.

Mettre dans l’événement WorbooksOpen de ton classeur le code qui te permet de faire cette opération, avec un test sur l'heure pour ne pas l'enclencher à chaque ouverture du classeur.

Lancer ce classeur à minuit en utilisant les tâches planifiés de Windows.

Pour ton code, si il faut modifier la valeur qui déclenche la MFC.

Philippe
 

Victor21

XLDnaute Barbatruc
Bonjour "un internaute".
Dites nous quand nous ne sommes pas avant minuit, nous vous dirons comment supprimer la mefc : sans date repère, nous sommes toujours à la fois avant et après minuit, le lendemain et l'hier d'une date.
 

un internaute

XLDnaute Impliqué
Bonjour Victor 21
Il n'y a pas de MFC je n'en veux pas
Ce matin je veux retrouver mon fichier comme toto 4 et lorsque je tape 3 la ligne 24 vient en couleur 17 (voir fichier toto3) et ainsi de suite
Cordialement
 

Pièces jointes

  • toto 4.xls
    264.5 KB · Affichages: 8

Victor21

XLDnaute Barbatruc
Re,
[...]Comment faire effacer après minuit la couleur interior color 17d'une ligne par MFC[...]
[...]Il n'y a pas de MFC je n'en veux pas[...]
Vous pratiquez la contradiction couramment ?
Pour mettre en couleur la ligne dont la date en colonne A correspond à aujourd'hui, deux solutions : le VBA et la MEFC.
Pour le VBA, je passe le relai à plus compétents que moi.
Pour la MEFC, après avoir sélectionné A6:g36, et cliqué sur Mise en forme conditionnelle, Nouvelle règle, Utiliser une formule... :

1026974
 

Philippe_JOCHMANS

XLDnaute Junior
Bonjour

Voici un bout de code qui met à 0 la cellule B en fonction de la date :

Ce code est à mettre à la fin de la procédure WorkSheetOpen. Là je mets à 0, mais tu peux modifier InteriorColor, etc.. à la place.

A lancer par une tâche planifiée à minuit, il détecter les minutes pour ne faire cela qu'une seul fois.

VB:
 ' on test si on est entre 0 h 00 et 0 h 01

    
  If Format(Now, "nn") >= 0 And Format(Now, "nn") <= 1 Then
 
    ' Suppression du chiffre 3 dans la date du jour
    Dim objWks As Worksheet
    Dim strMois As String
    Dim dteDate As Date
    Dim lngRow As Long
    
    ' on récupère la feuille ou on va agir
    Set objWks = ThisWorkbook.Worksheets(Format(Date, "mmmm") & " " & Format(Date, "yyyy"))
    
    ' on récupère la date
    dteDate = Date
    
    ' on cherche la ligne où se trouve la date souhaitée
    lngRow = objWks.Columns(1).Find(dteDate).Row
    
    ' on modifie la valeur
    objWks.Range("B" & lngRow).Value = "0"
    
    
 End If

Il y a sûrement mieux, mois voici déjà une piste.

Philippe
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin