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 :

Format de dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 10
    Par défaut Format de dates
    Bonjour à tous, je suis entrain d'automatiser une procédure en Vba et je bloque sur un point, à cause des dates.
    Mon programme rapatrie les données d'un autre Excel à l'aide d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        nbrLigne = Range("A" & Rows.Count).End(xlUp).Row 'cherche le nombre de lignes
        Range("A1:P" & nbrLigne).Select
        Selection.Copy
        ActiveWorkbook.Close SaveChanges = False
     
        Workbooks(NomFic).Activate
        Worksheets("Export").Activate
        Range("A1").PasteSpecial
    (y'a quelques Select et activate, désolé :v)

    Je m'intéresse ensuite à la Colonne "N" comportant plusieurs millier de dates. Je veux filtrer et faire apparaitre les dates de plus d'un an. Jusque la tout va bien, j'ai résolu le problème de format US

    Mon soucis vient du fait que, lors du copié collé, une partie des dates est collée en format date et l'autre en format texte, le format texte n'est pas reconnu par ma macro et tout se casse la geule.

    - j'ai essayé "Paste", "PasteSpecial xl...." mais seul un simple pastSpecial marche, le reste fait planter la macro
    - j'ai essayé de multiplier la colonne par 1 ou additionner 0. je me retrouve avec le "code" de la date (43650, 49651....) et de le remettre au format date. Ça fonctionne à la main mais la macro enregistrée n'a d'effet que sur les dates au format date et ignore celles au format texte......
    - j'ai essayé la fonction "convertir" du bandeau de données mais ici aussi la macro enregistrée ne marche pas

    j'avoue que je m'arrache un peu les cheveux sur cette histoire de format de date...si l'un d'entre vous a une piste ou une explication !
    merci d'avance pour votre aide !

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 566
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 566
    Par défaut
    Bonjour

    Es-tu sûr que tes dates de départ ne sont pas en format texte (mauvais import) ?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 10
    Par défaut
    Bonjour,
    Visiblement mon import contient bien des dates (alignées à droite de la cellule)

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    dans ta macro tu peux tester ta cellule avant avec "IsNumeric" et "IsDate" par exemple et si c'est du texte utiliser "CDate" pour convertir en date

    sinon je te conseille cede lire ce tuto qui explique en long en large et en travers ce qu'il faut savoir sur la gestion de date

    https://didier-gonard.developpez.com...-excel-et-vba/

    @+

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2019
    Messages : 10
    Par défaut
    IsDate m'annonce que toutes mes dates sont des dates, malgré tout j'ai toujours le même problème.......
    la vraiment ça me dépasse, malgré le tuto que j'avais déja déniché

    Je me permet de mettre des fichiers type, (subtilement) anonymisés. l'idée est d'aller dans le fichier test et d'ouvrir l'export production pour importer les données. je vais alors, avec le filtre BB et >1 an opérer sur les dates de la colonne N mais forcément rien ne va avec mon probleme.
    La macro d'import est assez basique pourtant

    Merci beaucoup

    test.xlsm
    PRODUCTION - Copie.xls

  6. #6
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Ton fichier Production il arrive directement comme cela, ou il est bidouillé avant (ajout suppression de colonne ou fichier texte ou CSV au départ ...)

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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