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 deux dates


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut Comparer deux dates
    Bonjour,

    Dans un formulaire de saisie des commandes, l'utilisateur doit entrer la date de la commande dans un textbox au format (jj/mm/aaaa).
    Il doit également choisir dans un combobox la date et l'année de la commande (ex: decembre 2007). La combobox est alimenteé par le nom des onglets d'un classeur excel.

    Je demande donc 2 fois la date à l'utilisateur pour 2 raisons :
    - la date saisie dans le textbox (ex: 12/12/2007) alimente une feuille
    - la date saisie dans le combobox me permet de sélection la bonne feuille (ex: decembre 2007)

    Est-il possible de comparer le mois et l'année du textbox et du combobox pour éviter une erreur de saisie de l'utilisateur ?

    Merci d'avance...

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Fonctions Year(TextBox1.Value) et Month(TextBox1.Value).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut
    Merci pour les indications

    Je recupere bien le mois et l'année de la textbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    annee = Year(UserForm1.TextBox1.Value)
    MsgBox (annee)
    Cependant le combobox contient une chaîne de caractère (nom des onglets du classeur) et non pas une date.

    textbox = "12/12/2007" -> date
    combobox= "decembre 2007" -> string

    Comment vérifier que 12 corespond bien à decembre ?

    J'éspère être clair dans mes explications

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    avec la fonction trim tu peux extraire tout ce qui est à gauche de l'année et dire que décembre=12, novembre=11, etc.
    En revanche, si il y a la date du jour là t'es pas dans la m...e

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    J'ignore comment est rempli ton Combo, mais en comparant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim Y as Integer, X as Integer
    X = comboBox1(Listindex) 'adapter au contexte
    Y = val(mid(TextBox1.Text,4,2))
    If X <> Y then
        'Pas de concordance
    end if
    A+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 30
    Par défaut
    Bonjour

    Merci pour vos conseils

    voici mon code qui semble fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    a = Month(UserForm1.TextBox1) & " " & Year(UserForm1.TextBox1)
    b = "decembre 2007"
     
    If a = "12 2007" Then
    a = b
    End If
    If a = UserForm1.ComboBox2.Text Then
    MsgBox "oui"
    Else
    MsgBox "non"
    End If
    Bonne journée

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

Discussions similaires

  1. Comment comparer deux dates
    Par vodevil dans le forum Modules
    Réponses: 6
    Dernier message: 01/09/2005, 18h24
  2. comparer deux dates
    Par adel25 dans le forum C++
    Réponses: 3
    Dernier message: 23/08/2005, 20h29
  3. Comparer deux dates
    Par LoicH dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/03/2005, 22h53
  4. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08

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