Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Homme Profil pro Quentin Vanderveken
    Chargé d'automation Graphique
    Inscrit en
    octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Nom : Homme Quentin Vanderveken
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'automation Graphique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2012
    Messages : 14
    Points : 3
    Points
    3

    Par défaut Conversion Format de Date

    Bonjour,

    J'ai une date sous le format : MM/JJ/AAAA HH:MM:SS (exemple: 12/6/2012 8:20:00)

    Hors je voudrais l'avoir sous le format : JJ/MM/AAAA (exemple: 06/12/2012)

    Le problème est que le programme que j'utilise convertit tout seul la date sous le format que je désire sauf quand bien évidement il arrive pas à définir quel est le mois et quel est le jour (comme dans mon exemple)

    Je m'explique :

    pour une date que je reçois : 12/13/2012 8:20:00
    quand je lui demande de la mettre sous mon format, il le fait très bien car il détecte que le 13 étant plus grand que 12, il le définit comme jour et prend l'autre comme mois donc : 13/12/2012

    MAIS
    pour une date tel que : 06/12/2012 8:20:00
    Quand je lui demande sous mon format, C'est la que il me met : 12/06/2012

    J'aurais voulu savoir si quelqu'un avait une solution ou connait une fonction qui permettrait d'arranger ce problème ?

  2. #2
    Rédacteur
    Avatar de omen999
    Inscrit en
    février 2006
    Messages
    1 008
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 1 008
    Points : 2 370
    Points
    2 370

    Par défaut

    bonjour,
    MAIS
    pour une date tel que : 06/12/2012 8:20:00
    Quand je lui demande sous mon format, C'est la que il me met : 12/06/2012
    heu... ta routine fait très exactement ce que tu lui demandes...
    nomen omen, nemo non omen
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  3. #3
    Invité de passage
    Homme Profil pro Quentin Vanderveken
    Chargé d'automation Graphique
    Inscrit en
    octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Nom : Homme Quentin Vanderveken
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'automation Graphique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2012
    Messages : 14
    Points : 3
    Points
    3

    Par défaut

    non en fait je me suis vraiment mal exprimé ...

    En gros je recois des dates sous format : MM/DD/YYYY alors que le programme croit les recevoir sous le format : DD/MM/YYYY !!!

    Tout va très bien tant que mes DD sont supérieurs à 12 il corrige l'erreur lui même.
    Mais dès que j'ai une date avec un DD inférieur à 12, il ne fait pas le changement.

    Exemple :
    DATE 1 reçu : 12/14/2012 (format: MM/DD/YYYY)
    DATE 1 convertit par le programme : 14/12/2012 (format: DD/MM/YYYY)

    DATE 2 reçu : 12/6/2012 (format: MM/DD/YYYY)
    DATE 2 convertit par le programme : 12/06/2012 (formatD/MM/YYYY selon le programme)

    Mais je pense avoir trouver un solution :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Main()
     
    Set FullDate = Producer.Model.GetObject("D3")
    FDate = FullDate.GetProperty("Text")
    FF = Mid(FDate,4,2)
    FDate = CDate (FDate)
    FDate = FormatDateTime (FDate,2)
     
    If FF > 12 Then
    Call Producer.Model.GetObject("Datetest").SetProperty("Text",FDate)
     
    Else
    DD = Mid(FDate,4,2)
    MM = Left(FDate,2)
    YYYY = Mid(FDate,7,4)
    Call Producer.Model.GetObject("DateTest").SetProperty("Text",DD+"/"+MM+"/"+YYYY)
     
    End If
    End Sub
    Cela semble bien tourner

    Mais j'aimerais pouvoir le reutiliser plusieurs fois sans devoir faire un copier coller en changeant le nom de l'objet de départ et de fin ...

    en gros l'utiliser comme fonction pourriez vous m'aider?
    Si vous m'avez compris maintenant ^^

  4. #4
    Invité de passage
    Homme Profil pro Quentin Vanderveken
    Chargé d'automation Graphique
    Inscrit en
    octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Nom : Homme Quentin Vanderveken
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'automation Graphique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2012
    Messages : 14
    Points : 3
    Points
    3

    Par défaut

    Est ce que quelqu'une connait une fonction pour savoir si un caractère est un chiffre?

    J'ai essaye

    Code :
    If X = VbInteger Then ...
    Mais ca n'a pas l'air de fonctionner ...

  5. #5
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 446
    Points : 3 388
    Points
    3 388

    Par défaut

    Bonjour,

    Citation Envoyé par Quentin.vdv Voir le message
    Est ce que quelqu'une connait une fonction pour savoir si un caractère est un chiffre?

    J'ai essaye

    Code :
    If X = VbInteger Then ...
    Mais ca n'a pas l'air de fonctionner ...
    Code :
    1
    2
    3
     
    if isNumeric(MaVariable) then
    .....
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  6. #6
    Invité de passage
    Homme Profil pro Quentin Vanderveken
    Chargé d'automation Graphique
    Inscrit en
    octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Nom : Homme Quentin Vanderveken
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'automation Graphique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2012
    Messages : 14
    Points : 3
    Points
    3

    Par défaut

    Merci pc75

  7. #7
    Invité de passage
    Homme Profil pro Quentin Vanderveken
    Chargé d'automation Graphique
    Inscrit en
    octobre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Nom : Homme Quentin Vanderveken
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chargé d'automation Graphique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : octobre 2012
    Messages : 14
    Points : 3
    Points
    3

    Par défaut

    Bonjour,

    Je reviens encore vers vous avec ma demande:

    vu que mes script sont reliés chaque fois à une case bien précise, est ce qu'il serait possible de ne plus devoir lui mettre a chaque fois le nom de l'objet de départ et de fin (étant donné que c'est le même) ?

    En gros j'aimerais retranscire mon script de facon que je ne dois pas pour chaque donnée changer le DATE1 en DATE2 etc (dans le script même).

    Comme il est a chaque fois relié a une case spécifique, je voudrais juste trouver la commande qui fait qu'il va lire tout seul à la case auquel il est rélié.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Main()
     
    Set FullDate = Producer.Model.GetObject("DATE1")
    FDate = FullDate.GetProperty("Text")
    FF = Mid(FDate,4,2)
    FDate = CDate (FDate)
    FDate = FormatDateTime (FDate,2)
     
    If FF > 12 Then
    Call Producer.Model.GetObject("DATE1").SetProperty("Text",FDate)
     
    Else
    DD = Mid(FDate,4,2)
    MM = Left(FDate,2)
    YYYY = Mid(FDate,7,4)
    Call Producer.Model.GetObject("DATE1").SetProperty("Text",DD+"/"+MM+"/"+YYYY)
     
    End If
    End Sub

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •