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 :

comparer si cellule = à aujourdhui


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Par défaut comparer si cellule = à aujourdhui
    Bonjour tout le monde comment peut on émettre une condition si une cellule est égale à "=Aujourdhui()" sachant =que le format de ma cellule donne un résultat comme ceci "14-Apr-11" la formule de cette cellule est "=Aujourdhui()"
    J'ai testé plusieurs choses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim ThisMonth As Variant: ThisMonth = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun" _
                                            , "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
        Dim thisDate As String
        thisDate = Format$(Date, "dd") & "-" & ThisMonth(month(Date) - 1) & "-" & Format$(Date, "yy")
     
    If ActiveWorkbook.Sheets("Feuil1").Range("A1").Value = thisDate Then
    ...
    Sans résultat
    Puis ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    If ActiveWorkbook.Sheets("Feuil1").Range("A1").FormulaLocal = "Aujourdhui()"
    ...
    Sans résultat non plus
    Une chtite idée les amis?
    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour bakman,

    Et avec ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveWorkbook.Sheets("Feuil1").Range("A1").FormulaLocal = "=Aujourdhui()"

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 270
    Par défaut
    Heu si tu lit mon post le deuxieme code s'est exactement la même formule que tu propose
    Mais j'ai résolu le problème
    En effet une cellule avec un format de date tel jj-mmm-yy et la formule "=aujourdhui()" VBA la valeur à dd/mm/yyyy du coup voila ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim thisDate As String
    thisDate = Format$(Date, "dd/mm/yyyy")
    If ActiveWorkbook.Sheets("Feuil1").Range("A1") = thisDate Then
    ...
    Et ca fonctionne!
    Merci quand même ! A bientot

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub voila()
     
    Dim ThisMonth As Variant: ThisMonth = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun" _
                                            , "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
    Dim thisDate As String
     
        thisDate = Format$(Date, "dd") & "-" & ThisMonth(Month(Date) - 1) & "-" & Format$(Date, "yy")
        Range("A1") = thisDate
        Range("A1").NumberFormat = "[$-409]dd-mmm-yy;@"
        If Range("A1").Value = Date Then
     End Sub

    si j'ai bien compris ca devrai marché

    ps: bon ba aparemment tu as trouver une sol aussi
    sensiblement la même

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut comparaison de date
    Bonjour,

    Je ne crois pas qu'il soit nécessaire de passer par le format de la date.
    Seule la valeur compte.

    Exemple :

    Si tu as informé la cellule A14 de la date 14/4/11, affiché 14 avril 11, le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Range("A14") = Date

    te renvoie


  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Juste une petite précision, Excel considère que 1 vaut 1 jour et que 1/24 vaut une heure. Le chiffre 1 représentant le 01/01/1900 donc, le nombre 40647 réprésente aujourd'hui (14/04/2001) Comme le dit si bien Marcel, il faut donc comparer des valeurs et non des dates, les fonctions d'Excel ou VBA sont là pour faire la conversion. Il faut à mon sens garder cela à l'esprit et ça devient plus simple par la suite.

    Hervé.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Par défaut
    Bonjour,

    Marcel a raison. Tu n'es pas obligé de préciser le format date.
    Il suffit seulement de comparer le valeur de la cellule avec la date système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1").Value = Date Then
    Bonne journée

  8. #8
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Re-Bonjour bakman,

    Pour info,
    La petite différence dans mon code était le signe "=" avant "Aujourdhui()".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparer une cellule avec une variable
    Par nessing dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/08/2007, 22h54
  2. [Formules..]Comment comparer deux cellules ?
    Par Trooper2 dans le forum Excel
    Réponses: 2
    Dernier message: 30/04/2007, 13h59
  3. Réponses: 9
    Dernier message: 27/06/2006, 16h55
  4. [VBA-E] Comparer des cellules
    Par lutin06 dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 28/04/2006, 16h24
  5. [VBA-E] Comparer des cellules
    Par lutin06 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/04/2006, 10h22

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