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 :

Excel 2002 XP - Problème avec Isdate()


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Par défaut Excel 2002 XP - Problème avec Isdate()
    Bonjour,

    Je vérifie qu'une donnée saisie dans une cellule est bien une date dans une procédure VBA avec la fonction Isdate().

    Tout se passait bien jusqu'à ce qu'un utilisateur entre une date de la façon suivante : "20 08 08" au lieu de "20/08/08".

    Le problème est que Isdate() laisse passer cette saisie qu'il a l'air de considérer comme une date valide par contre le contenu de la cellule est utilisé un peu plus loin dans une formule qui utilise la fonction Joursem() et là j'ai un beau #VALEUR!

    Quelqu'un a t-il une idée pour empêcher les utilisateurs de saisir "20 08 08" ?

    Merci

    Cordialement

    Sergio

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Je me suis déjà à maintes reprises suffisamment épuisé à essayer de convaincre que l'on ne se contentait pas de Isdate pour contrôler une saisie de date... en vain (malgré les nombreuses raisons exposées)...
    Je vais donc ici me contenter du SEUL aspect que tu dénonces, sans même parler des autres (nombreux et pouvant avoir de facheuses conséquences) à nouveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    toto = "20 08 08"
    If Not toto Like "##/##/##" Or Not IsDate(toto) Then
      MsgBox toto & " n'est pas accepté"
    End If

  3. #3
    Membre Expert
    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
    Par défaut
    Salut Sergio63
    ou tu transformes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
    If IsDate([A1]) And Not ([A1] Like "*/*") Then [A1] = CDate([A1])
    End Sub
    si A1 est reconnu comme une date, mais est du texte, on le transforme en date. Teste
    A+

  4. #4
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 73
    Par défaut
    J'ai rajouté un test avec "like" et ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        If Not IsEmpty(Target.Value) And Not IsDate(Target.Value) Or Not Target.Value Like "##/##/####" Then
            ' Vérification que la donnée entrée est bien une date
            MsgBox ("Attention vous devez saisir une date valide ligne " & Target.Row)
            Range("F" & Target.Row).Select
        Else
        ...
    Merci de votre aide

    Cordialement

    Sergio

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

Discussions similaires

  1. Excel - protéger feuille problème avec Macro
    Par willoweiss dans le forum Excel
    Réponses: 1
    Dernier message: 28/10/2012, 10h35
  2. Réponses: 3
    Dernier message: 15/02/2011, 19h46
  3. [Excel] Problème avec l'accès aux feuilles et aux cellules
    Par bl00df0x dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 30/09/2005, 14h21
  4. [MFC] [CRecordset] Problème avec Excel
    Par Yellowmat dans le forum MFC
    Réponses: 4
    Dernier message: 20/07/2005, 15h24
  5. [VB.NET] Problème avec un OptionButton dans Excel 2003
    Par alfprod dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/09/2004, 13h40

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