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 :

Gérer dates au format us et fr dans une même colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Par défaut Gérer dates au format us et fr dans une même colonne
    Bonjour,

    J'ai un petit souci qui est le suivant: dans ma colonne G, j'ai des dates! Certaines sont au format us (elles sont écrites à droite de la cellule) et d'autres au format français (écrites à gauche)!

    J'ai d'abord utilisé la fonction CDate dans vba, essayé pas mal de trucs "données-conversion-format date" dans une nouvelle colonne, format date sur cette colonne etc... Mais rien n'y fait!

    Je n'arrive pas à avoir 01/04/2012 (bonne date en fr) là où excel m'écrit 04/01/2012 au format us!

    Quelqu'un sait comment faire?

    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Sakut, voir avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim v as Double
            v = CDbl(CDate(Cells(x, y)))
            Cells(x, y) = Format(v, "dd/mm/yyyy")
    A lire ici

  3. #3
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Fais très attention avec les dates. D'où viennent les données ? Un copier-coller ? Un import ?
    Tu as un Excel US ou FR ?
    Car la solution de kiki29 marchera très bien pour des dates qui ne sont pas reconnus comme date (jour supérieur à 12). Mais pour les autres, Excel a cru reconnaître une date et a inversé lui-même le jour et le mois.
    C'est vraiment au niveau de l'import des données qu'il faut travailler. Ou alors si c'est trop tard et que c'est un fichier que tu as récupéré, il faudrait travailler différemment selon les 2 cas :
    - Pour ce qui est déjà reconnu comme date, inverser jour et mois
    - Pour les autres, décomposer manuellement via le séparateur (sans doute "/") et reconstituer toi-même une date

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Tiens en prime les formules pour faire ça (elles sont un peu barbare, ce serait plus lisible en VBA ou en passant par des cellules intermédaires)

    En relisant ton premier post, j'ai l'impression que ton format par défaut est US.

    Pour les dates reconnues comme date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ANNEE(G25);JOUR(G25);MOIS(G25))
    Ou avec un Excel US (je n'en ai pas sous la main, donc je peux faire une erreur sur la syntaxe des fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(YEAR(G25);DAY(G25);MONTH(G25))
    Et pour les dates non reconnues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(DROITE(G26;NBCAR(G26)-CHERCHE("/";G26;CHERCHE("/";G26)+1));STXT(G26;CHERCHE("/";G26)+1;CHERCHE("/";G26;CHERCHE("/";G26)+1)-CHERCHE("/";G26)-1);GAUCHE(G26;CHERCHE("/";G26)-1))
    J'ai la flemme de faire la traduction en anglais, mais on trouve facilement la correspondance.

Discussions similaires

  1. [AC-2007] Deux champs différents dans une même colonne
    Par Prettyletter dans le forum IHM
    Réponses: 10
    Dernier message: 23/04/2011, 23h16
  2. Réponses: 4
    Dernier message: 18/12/2009, 13h44
  3. [MySQL] Permutation de deux valeurs dans une même colonne de table
    Par andry.aime dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/01/2009, 13h19
  4. [BO XI] Variable différente dans une même colonne
    Par FloLens dans le forum Deski
    Réponses: 6
    Dernier message: 16/04/2008, 16h36
  5. Résultats dans une même colonne.
    Par souellet dans le forum Langage SQL
    Réponses: 6
    Dernier message: 10/03/2004, 19h51

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