IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

macro pour colorer des dates


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut macro pour colorer des dates
    Bonjour a tous. moi j'ai cette table avec comme colonnes

    nom data nais examen date exame apres 6 mois apres 12 mois
    PIPPO 01/02/1983 RADIO 01/02/2009 01/08/2009 01/02/2010
    PIPPO 02/05/1952 RADIO 25/07/2009 25/01/2010 25/07/2010
    PIPPO 02/11/1958 RADIO 02/05/2009 02/11/2009 02/05/2010
    PIPPO 01/08/1978 RADIO 06/06/2009 06/12/2009 06/06/2010


    moi je voudrais creer une macro qui permet de colorer en rouge les dates de la colonne "apres 6 mois" dont le mois est celui du mois courant.

    donc si je l'ouvre aujourd'hui, il va colorer seulement la derneire date.

    comment je peux faire?

  2. #2
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut
    moi j'ai fait cette macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
    Dim c As Range
    For Each c In Range("f1:f" & Range("f65536").End(xlUp).Row)
    If c = Date Then c.Interior.ColorIndex = 3 Else c.Interior.ColorIndex = xlNone
    Next
    End Sub
    mais ne marche pas. je pense parce que la colonne "apres 6 mois" est une formule =MOIS.DECALER(e2;6)

    donc comment je peux faire?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut Daniela et le forum
    Est-il nécessaire de passer par une macro ? Une MFC ne suffirait-elle pas ?

    A1 sélectionnée
    Menu Format>>Mise en Format Conditionnelle
    Codition 1
    Case 1 : la formule est
    Case 2 : =(MOIS(AUJOURDHUI())=MOIS(A1))*(ANNEE(AUJOURDHUI())=ANNEE(A1))
    Format : fond rouge

    et tu recopies la mise en forme (icone Pinceau) sur toutes les cellules concernées.
    Avantage : mise en forme est intantanée, dès la saisie, même sans recalcul de la feuille.
    Inconvénient : On ne peut pas se servir du fait que la cellule soit affichée colorée dans les macros, puisqu'elle n'est pas colorée.


    Edit : Je n'avais pas vu ton second poste : ta macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
    Dim c As Range
    For Each c In Range("f1:f" & Range("f65536").End(xlUp).Row)
    If c = Date Then c.Interior.ColorIndex = 3 Else c.Interior.ColorIndex = xlNone
    Next
    End Sub
    Date est une variable système contenant la date du jour. donc, avec ta macro, tu colories uniquement les dates de la rangée F dont la date correspond à celle du jour du système.
    Il faudrait une macro dans le style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Macro1()
    Dim Cel As Range
    For Each Cel In Range([F1], [F65536].End(xlUp))
         If month(Cel) = month(Date) Then 
              Cel.Interior.ColorIndex = 3 
         Else 
              Cel.Interior.ColorIndex = xlNone
         end if
    Next Cel
    End Sub
    Peu de différences avec la tienne. Juste une remarque : faire tenir les instructions sur une ligne rend, à mon sens, la lecture plus difficile. Sur une macro aussi simple, ça ne change rien. Sur une multitude de ligne de code, pour le dépannage, je préfère mon architecture.

    A+

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut
    j'ai esseie ta macro mais il y a un probleme au niveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Month(Cel) = Month(Date) Then
    il met dit type pas correspondente. Pourquoi?

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut Daniela et le forum
    il met dit type pas correspondente. Pourquoi?
    Parce que ça sert à rien que je sois bête si je le montre pas .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
    Dim Cel As Range
    For Each Cel In Range([F1], [F65536].End(xlUp))
        If IsDate(Cel) Then
            If Month(Cel) = Month(Date) Then
                 Cel.Interior.ColorIndex = 3
            Else
                 Cel.Interior.ColorIndex = xlNone
            End If
         End If
    Next Cel
    End Sub
    J'avais pas testé oups . la nouvelle macro devrait être mieux (je l'ai testée).
    En colonne F, vraisemblablement, tu dois avoir d'autre chose que des dates et comme tu compares avec une date, si c'est un texte, Excel fait un KK nerveux .
    A+

Discussions similaires

  1. [XL-2007] macro pour soustraction des dates
    Par souline dans le forum Excel
    Réponses: 1
    Dernier message: 07/06/2014, 20h10
  2. Macro pour soustraction des dates
    Par souline dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/06/2014, 00h31
  3. [XL-2010] Macro pour colorer des champs qui dépendent d'autres champs
    Par Mystic_wolf dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/12/2012, 12h33
  4. Réponses: 2
    Dernier message: 17/03/2011, 21h45
  5. [XL-2003] macro pour afficher les dates des troisièmes vendredi du mois
    Par julius999 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 28/10/2009, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo