Clignotement cellules

Résolu
CALI -  
eric2027 Messages postés 296 Statut Membre -
bonjour,

J'ai un calendrier avec des dates d'anniversaire à souhaiter pour lesquelles une macro me les mets en couleur et j'aimerais que celles ci clignotes quand c'est le jour J.

Par avance, merci pour votre aide.

Cordialement,

23 réponses

  • 1
  • 2
Résumé de la discussion

Une mise en forme automatise le coloriage des dates d'anniversaire dans le calendrier par une macro et prévoit le clignotement des cellules le jour J pour attirer l'attention. Des propositions consistent à tester une solution existante et à adapter le classeur selon les besoins, en utilisant une mise en forme conditionnelle pour clignoter la cellule ou le commentaire le jour voulu. Des suggestions évoquent aussi de vérifier les liens de code et d'assurer que le fichier est dans le même répertoire, ou que son emplacement est précisé, et d'envisager l'affichage du commentaire avec une musique. D'autres possibilités évoquées incluent la synchronisation sur la date par une macro et une option de clignotement, bien que la musique ne soit pas faisable sans carte son.

Bobot (l'IA à votre service)
  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Faire un tour par ici.

    0
    1. CALI
       
      bonjour,

      Merci mais çà ne m'aide pas beaucoup.Pouvez vous créer cette macro sur mon fichier.

      Merci
      0
  2. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour CALI,
    Je pense que vous devriez regarder en détail la proposition de Mike-31 (salutations) et là il vous suffira d'adapter le classeur selon vos besoin, tout y est et de belle manière.

    0
    1. CALI
       
      rebonjour,

      J'ai regardé, mais c'est du chinois pour moi.
      Pouvez vous me rendre service et adapter sa macro à mon fichier.

      Par avance, merci
      Cordialement,
      0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple:

    http://www.cjoint.com/c/EHBjkGUh1GQ
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. CALI
     
    re,

    Désolée mais je n'arrive pas adapter cette macro à mon fichier. Je sais, je ne suis pas très douée , aussi j'ai vraiment besoin d'aide.

    Merci
    0
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    si tu commençais par mettre ton fichier anonymisé à notre disposition il serait peut être possible d'adapter un code
    pour joindre ton fichier à partir de ce lien
    https://www.cjoint.com/
    0
  7. CALI
     
    http://www.cjoint.com/c/EHBlKyOi3Ai

    Merci pour votre coopération.
    0
  8. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Ton lien est inactif. Tu devrais t'inscrire, c'est gratuit. Tu recevrais des messages quand on te répond. Les liens sont en bleus et cliquables.

    voici un autre exemple qui s'adapte à tous les classeurs:

    Tu fais Alt F11 pour accéder à l'éditeur.

    Les codes sont dans module1 et ThisWorkbook

    http://www.cjoint.com/c/EHBpDuRogDQ
    0
    1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Salut Le Pivert,

      son lien est bon par contre les dates se trouvent dans des commentaires sur un calendrier, je n'ai pas eu le temps de décortiquer un code que je verrais pour ma part dans la soirée, je ne pense pas évident !
      Cordialement
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Salut Mike-31,

      Je n'arrive pas a activer le lien.

      Un début de piste pour les commentaires:

      Option Explicit
      Private Sub Workbook_Open()
       Dim PremCell As String
        Dim Cell As Range
        Dim maligne As String
        Dim madate As Date
        Dim com As String
        madate = Format(Date, "d/mm/yyyy")
        Set Cell = Cells.Find(madate)
       On Error Resume Next
        If Not Cell Is Nothing Then
          PremCell = Cell.Address
          maligne = Cell.Address(RowAbsolute:=False) 'donne la colonne et le numéro de ligne par ex: $G16
          Range(maligne).Select 'sélectionne la cellule ou se trouve la date
         com = ActiveCell.Comment.Text
         End If
      If com = "" Then
      Else
      InitFlash
       End If
      End Sub
      
      


      Cdlt
      0
  9. CALI
     
    bonjour et merci à tous les deux pour votre patience.
    Je vais essayer de me débrouiller avec votre envoi mais par contre si vous arrivez à corriger mon fichier, ce serait géniaL

    Cordialement,
    0
  10. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Voilà le classeur modifié. J'ai mis un anniversaire bidon pour aujourd'hui, pour voir le bon fonctionnement:

    http://www.cjoint.com/c/EHCjPvWkD5Q

    Mike-31, il y a certainement moyen de simplifier le code.

    Il ne reconnaissait pas les numéros de colonne!

    Si tu peux le regarder

    Cordialement à vous 2
    0
  11. CALI
     
    bonjour,

    Sincèrement merci, je l'ai testé et c'est génial.
    Merci à tous les 2

    Cordialement,
    0
  12. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Excuse le retard, problème de connexion, merci à Pivert d'avoir assuré le suivi, mais si tu repasses par là

    tu pourrais faire simple en affichant le commentaire du jour courant , ou si tu tiens au clignotement une autre variante, faire clignoter le commentaire
    pour tester coller ce code dans un module et associer le code Comman et ArretClign à un bouton ou dans la Thiswokbook pour un lancement automatique

    Option Explicit
    Dim Timer As Date
    Dim Cell As Variant

    Sub Comman()
    For Each Cell In Range("A5:L35")
    If Not (Cell.Comment Is Nothing) And Cell = Date Then 'MsgBox Cell.Comment.Text
    Cell.Select
    Clign
    End If
    Next
    End Sub

    Sub Clign()
    On Error Resume Next
    Timer = Now() + TimeValue("00:00:01") 'le temps du clignotement
    Application.OnTime Timer, "Clign"
    'Affiche l'alerte ou la fait disparaître (alternativement)
    With ThisWorkbook
    'Commentaire
    With .Sheets("Calendrier").Range(ActiveCell.Address)
    .Comment.Visible = Not .Comment.Visible
    End With
    End With
    End Sub

    Sub ArretClign()
    On Error Resume Next
    Application.OnTime Timer, "Clign", , False
    'Cache l'alerte
    Sheets("Calendrier").Range(ActiveCell.Address).Comment.Visible = False
    End Sub

    0
  13. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonne approche, merci pour cette solution.

    J'ai modifié pour approcher de la demande:

    dans un module:

    Option Explicit
    Dim Timer As Date
    Dim Cell As Variant
    Sub Comman()
       For Each Cell In Range("A5:L35")
           If Not (Cell.Comment Is Nothing) And Cell = Date Then 'MsgBox Cell.Comment.Text
           Cell.Select
           Clign
           End If
        Next
    End Sub
    Sub Clign()
    On Error Resume Next
    Static i
       i = i + 1
     'tant que le nombre de clignotements choisi n'est pas atteint
      '(ici 5) on continue
      If i <= 5 Then
      Timer = Now() + TimeValue("00:00:01") 'le temps du clignotement
        Application.OnTime Timer, "Clign"
        'Affiche l'alerte ou la fait disparaître (alternativement)
        With ThisWorkbook
                    'Commentaire
            With .Sheets("Calendrier").Range(ActiveCell.Address)
                .Comment.Visible = Not .Comment.Visible
            End With
        End With
      Else
       Application.OnTime Timer, "Clign", , False
        'Cache l'alerte
         Sheets("Calendrier").Range(ActiveCell.Address).Comment.Visible = True
        i = 0
      End If
    End Sub
    


    et dans la feuille:

    Option Explicit
    Dim f, ligne, cmt
    Dim mois, jour
    Private Sub Worksheet_Activate()
    Application.ScreenUpdating = False
      [A5:L35].ClearComments
      [A5:L35].Interior.ColorIndex = xlNone
      Set f = Sheets("evenement")
      For ligne = 2 To f.[A65000].End(xlUp).Row
        cmt = f.Cells(ligne, 1) & " " & f.Cells(ligne, 2) & " " & f.Cells(ligne, 4)
        mois = Month(f.Cells(ligne, 3))
        jour = Day(f.Cells(ligne, 3))
    With Sheets("calendrier").Cells(jour + 4, mois)
           If .Comment Is Nothing Then .AddComment
           .Comment.Text Text:=cmt
           .Comment.Shape.TextFrame.AutoSize = True
           .Interior.ColorIndex = 3
           .Comment.Visible = True
          End With
          Next ligne
          Comman 'lance le clignotement
            Application.ScreenUpdating = True
    End Sub
    


    Cordialement
    0
  14. CALI
     
    bonjour à vous deux et encore un grand merci.

    Je vais tester ce matin et vous tiens au courant.

    Cordialement,
    0
  15. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Merci de ton retour, il est également possible de piloter dans le même code la mise en forme conditionnelle, et au choix faire clignoter la cellule ou le commentaire, ou clignoter la cellule et faire apparaitre le commentaire de la cellule concernée et si tu veux pousser la curiosité faire jouer une musique comme Happy_Birthday
    0
    1. eric2027 Messages postés 296 Statut Membre 6
       
      Salut Mike,

      J'aimerais pousser cette curiosité avec la musique, ce serait trop cool
      Cordialement
      0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      c'est la rentrée et donc un peu bousculé, mais je monte un fichier que je mettrai dans la discussion rapidement
      0
    3. eric2027 Messages postés 296 Statut Membre 6
       
      ok c'est super sympa de ta part
      0
  16. CALI
     
    ok, je vais voir mais pour la musique pas possible, pas de carte son, dommage.
    Merci
    0
  17. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    En attendant celui de Mike_31

    http://www.cjoint.com/c/EHFqISKbGRQ
    0
  18. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    voilà le fichier je pense opérationnel, n'hésitez pas à faire remonter vos remarques.
    actuellement le fichier ne contient pas de commentaire, il suffit d'en saisir aux dates souhaitées. Actuellement le fichier audio est prévu pour relever les anniversaires.
    la procédure se lance automatiquement à l'ouverture du fichier, au changement d'onglet, au changement de date ou par l'unique bouton qui change d'aspect en fonction de la procédure en cours
    dans tous les cas la procédure peut être arrêtée avec le bouton ou en quittant la feuille
    le code s'exécute en partie ou en totalité si la cellule du jour contient un commentaire
    télécharger le dossier ZIP puis sortir le dossier Anniv avant de tester le fichier Classeur2 que vous pouvez renommer
    https://www.cjoint.com/c/EIci1gbUZjj
    0
    1. eric2027 Messages postés 296 Statut Membre 6
       
      Il me demande 'le fichier doit se trouver dans le même répertoire, ou spécifier son emplacement'
      0
    2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      il faut laisser le fichier Excel et le fichier audio dans le même répertoire, dézippe simplement les dossier il tout devrait fonctionner
      0
    3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      Re,

      dans le fichier dossier tu as deux fichiers, le fichier Excel nommé Classeur2.xlsm et le fichier audio nommé Happy_Birthday.mp3 il est impératif que les deux fichiers soient au même niveau dans arborescence, autrement dit dans le même répertoire ou il faudra revoir l'adresse du fichier et ce message dénonce cette incohérence.

      colle les deux fichiers au même endroit et tout doit fonctionner, la preuve Cali n'a eu aucun problème
      0
    4. eric2027 Messages postés 296 Statut Membre 6
       
      J'ai fait ce que tu m'as dit, je n'ai plus de message mais je n'ai pas de son
      0
  • 1
  • 2