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 :

Problème de format de date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Par défaut Problème de format de date
    Bonjour le forum ,

    J'ai un petit problème dans mon code VBA. Je pense que la réponse est toute simple mais je n'arrive pas à la trouver :/.

    J'ai un tableau avec quatre colonnes sur ma feuille P2. La première contient des dates et les autres des données associées. La date que je recherche est en Prog!D3.
    Mon code fait une recherche sur la colonne A, et affiche les évènements du jour recherché sur la feuille P3. Il fonctionne lorsque je recherche un texte, mais pas lorsque j'effectue une recherche avec des dates. Je pense donc avoir un problème de format...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim Choice As Date
    Choice = Range("Prog!D3").Value
    Dim C As Range
    Dim Firstaddress As String
    Dim i As Integer
    
    i = 1
    With Sheets("P2").Range("A1:A65536")
    Set C = .Find(Choice, LookIn:=xlValues)
    If Not C Is Nothing Then
    Firstaddress = C.Address
    Do
    Sheets("P3").Range("A" & i & ":D" & i) = Range(C, C.Offset(0, 4)).Value
    i = i + 1
    Set C = .FindNext(C)
    Loop While Not C Is Nothing And C.Address <> Firstaddress
    End If
    End With
    Set C = Nothing
    Si qqn a une petite idée...
    Merci beaucoup

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    essayes avec format :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    format(tadate,"dd/mm/yyyy") 'pour le format jj/mm/aaaa
    dans l'aide d'excel tu trouveras une explication bien detailé à ce sujet

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Par défaut
    Qqch comme Choice.Format(...) ? Je ne trouve pas la syntaxe :/. J'ai défini Dim Choice As Date.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Par défaut
    non plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    format( choice,"dd/mm/yyyy")

  5. #5
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Par défaut
    J'ai trouvé !
    Si ça peut aider qqn par la suite, il suffisait d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("...").Value = Format(Me.DTPicker1, "m/d/yyyy")
    lors de la copie du DTPicker dans la cellule.
    Merci !

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Que les choses soient claires une bonne fois pour toutes.
    Une Date est une Date.
    Autrement dit, si on compare une variable de Type Date et une cellule Excel qui contient une valeur de Type Date, il est inutile de jouer avec des formats et les options régionales n'entrent pas en compte.
    J'ai bien dit, si la cellule Excel contient une valeur de Type Date et non pas du texte représentant une date.
    Pour savoir ce que contient une cellule Excel, il est intéressant de faire afficher les .Value, .Text et .Value2 de cette cellule.
    Le .Text correspond à ce qui est affiché. Donc, cette valeur dépend du format d'affichage appliqué à la cellule.
    Le .Value correspond au contenu affiché d'une manière lisible.
    Le .Value2 est ce qui est réellement (physiquement) stocké dans le document. Pour une date, il s'agit d'un nombre décimal dont la partie entière représente le jour et la partie décimale, la portion de jour (les heures, minutes, secondes).

    S'il y a le moindre problème de comparaison de dates, c'est -soit que les valeurs sont différentes, -soit que les Types comparés sont différents.

    Un usage intensif du Debug.Print, des Espions et des Variables Locales est toujours fortement recommandé.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [débutant]Probléme de format de date
    Par Greg84 dans le forum Access
    Réponses: 2
    Dernier message: 10/08/2006, 14h31
  2. Problème de format de date par défaut
    Par anitshka dans le forum Langage
    Réponses: 4
    Dernier message: 31/07/2006, 12h22
  3. Problème de format de date
    Par pilou0013 dans le forum Access
    Réponses: 2
    Dernier message: 11/06/2006, 22h56
  4. [VB.net] problème de format de date
    Par cladsam dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/10/2005, 18h27
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19

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