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 :

Tri des dates [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut Tri des dates
    Bonjour,

    Suite a l'import d'un tableau dans excel par l'intermediaire d'une macro.

    je me retrouve avec une colonne avec des date au format JJ/MM/AAAA, je les tries, apres je fais un tableau croisé dynamique, toujours via la macro, et la dans ce tableau impossible de trier les dates comme je veux...

    Elle se classe par jour, puis mois puis année.
    Du coup j'ai tous les premiers des mois de l'année, puis les 2... etc...

    Comment faire pour trier par année puis par mois puis par jour ?

    @+ Arnaud

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 561
    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 561
    Par défaut
    Bonjour

    Tes dates sont sans doute en texte et non en date.

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Salut

    Non, non, elles sont bien au format date dans l'onglet du tableau.

    Le soucis se pose que dans l'onglet TCD (tableau croisé dynamique), ou la mes dates se trie par jours.... Donc j'ai tous les premiers de chaque mois, puis les 2, puis les 3 etc....

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'aurais tendance à répondre la même chose que Chris.
    Des dates triées par jour font penser à du texte et pas à des nombres.
    Le tri dans la feuille est correct ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Vérifie que tu est bien au format date en changeant par exemple le format d'affichage de tes cellules "16/04/2013" => "mardi 16 avril 2013" (bouton droit , format de cellule ..)

  6. #6
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    J'aurais tendance à répondre la même chose que Chris.
    Des dates triées par jour font penser à du texte et pas à des nombres.
    Le tri dans la feuille est correct ?
    Oui, oui dans ma feuille elles sont bien trier, c'est seulement dans le TCD qu'elles sont pas comme je veux....

    Citation Envoyé par bbil Voir le message
    Vérifie que tu est bien au format date en changeant par exemple le format d'affichage de tes cellules "16/04/2013" => "mardi 16 avril 2013" (bouton droit , format de cellule ..)
    Quand je change dans le TCD ça fait rien...

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Arnaud41 Voir le message
    Oui, oui dans ma feuille elles sont bien trier, c'est seulement dans le TCD qu'elles sont pas comme je veux....
    Quand je change dans le TCD ça fait rien...
    Ce n'est pas dans le TCD qu'il faut modifier le format mais dans la feuille de données.
    Juste pour vérifier que ce sont bien des dates
    Tu as vraiment testé le tri (Ascendant et descendant) des dates dans ta feuille de données ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Tu as vraiment testé le tri (Ascendant et descendant) des dates dans ta feuille de données ?
    Salut, alors oui les dates sont affichées en jj/mm/aaaa mais elles sont bien trier par ordre de date.

    J'ai fait un clic droit sur une colonne et dans format de cellule, onglet nombre puis personnalisé la j'ai mis aaaa/mm/jj.

    Mais mes date reste affichées dans le format jj/mm/aaaa par contre si je rentre manuellement une date en jj/mm/aaaa puis entré elle s'affiche en aaaa/mm/jj et c'est ce que je veux, mais pourquoi ça converti pas les cellules directement dans le format aaaa/mm/jj ?

    @+ Arnaud

  9. #9
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    comment sont saisies tes dates ?

  10. #10
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Dans le tableau d'origine elles sont en jj/mm/aaaa

  11. #11
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Ce que je veux dire c'est d'où viennent ces dates ? tu parle d'un import ? tu fais comment ?

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Arnaud41 Voir le message
    Salut, alors oui les dates sont affichées en jj/mm/aaaa mais elles sont bien trier par ordre de date.
    J'ai fait un clic droit sur une colonne et dans format de cellule, onglet nombre puis personnalisé la j'ai mis aaaa/mm/jj.
    Mais mes date reste affichées dans le format jj/mm/aaaa par contre si je rentre manuellement une date en jj/mm/aaaa puis entré elle s'affiche en aaaa/mm/jj et c'est ce que je veux, mais pourquoi ça converti pas les cellules directement dans le format aaaa/mm/jj ?
    @+ Arnaud
    Cela confirme ce que l'on t'écrit depuis le début.
    Ce ne sont pas des dates (c'est à dire un nombre qui est un n° de série formaté comme une date) mais bien une chaîne de caractères et donc le tableau croisé dynamique les interprète comme tels.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #13
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Citation Envoyé par bbil Voir le message
    Ce que je veux dire c'est d'où viennent ces dates ? tu parle d'un import ? tu fais comment ?
    Je récupère un format excel suite a une extraction

    Je remets en forme le tableau et fait un TCD par une macro.

    Et voila

    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Cela confirme ce que l'on t'écrit depuis le début.
    Ce ne sont pas des dates (c'est à dire un nombre qui est un n° de série formaté comme une date) mais bien une chaîne de caractères et donc le tableau croisé dynamique les interprète comme tels.
    Oui mais j'ai essayé dans la colonne dans format de cellule de mettre date, et ça fonctionne pas, ou j'ai loupé quelque chose....

  14. #14
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Arnaud41 Voir le message
    Je récupère un format excel suite a une extraction

    ...
    bon c'est du côté de cette récupération mystérieuse le problème .....

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une possibilité pour le remettre au format date.
    Si la date est bien au format européen c'est à dire que 3/4/2013 est bien le 3 avril 2013 et pas 4 mars 2013 (format américain) il te suffit de multiplier la chaîne par le chiffre 1.
    En guise d'exemple, encode la date précédée par une apostrophe (Chaîne de caractères) ensuite multiplier cette chaîne de caractères par 1 pour obtenir ainsi le n° de série de la date qu'il suffit ensuite de formater.
    Une autre possibilité est avec l'outil Convertir (groupe Outils de données de l'onglet [Données])dans sa troisième étape il y a la possibilité d'indiquer à l'outil que la colonne est une date en lui indiquant son format
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Si la date est bien au format européen c'est à dire que 3/4/2013 est bien le 3 avril 2013 et pas 4 mars 2013 (format américain)
    Bon ça c'est bon

    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Une possibilité pour le remettre au format date.
    Si la date est bien au format européen c'est à dire que 3/4/2013 est bien le 3 avril 2013 et pas 4 mars 2013 (format américain) il te suffit de multiplier la chaîne par le chiffre 1.
    En guise d'exemple, encode la date précédée par une apostrophe (Chaîne de caractères) ensuite multiplier cette chaîne de caractères par 1 pour obtenir ainsi le n° de série de la date qu'il suffit ensuite de formater.
    Par contre la j'ai pas bien compris, je debute ;-)

  17. #17
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Imaginons que ta date au format texte se trouve en A2.
    1) Tu tapes dans une cellule par exemple B2 la formule suivante 2) Tu auras dans cette cellule le n° de série de la date (par exemple pour la date d'aujourd'hui 41382
    3) Tu formates la date en allant dans Format cellule
    Une autre solution
    1) Tu tapes la valeur 1 dans une cellule quelconque de la feuille
    2) Tu copies ce chiffre. (Clic droit Copie ou Ctrl+C)
    3) Tu sélectionnes la ou les cellules contenant les dates aux formats chaîne de caractères
    4) Tu fais un clic droit et tu sélectionnes Collage Spécial....
    Dans la boîte de dialogue de l'outil Collage spécial, tu sélectionnes Multiplication dans le groupe Opération et ensuite tu cliques sur OK
    Les dates seront converties en n° de séries
    5) Tu formates les dates avec Format Cellules
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  18. #18
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Je vous mets mon fichier en piece jointe

    C'est un .xlsm mais je l'ai renommer en .xls car sinon il passait pas sur le forum...

    Comment on peut convertir la colonne D de facon que dans le TCD les dates soit trié dans l'ordre, directement via la macro

    J'ai copié la macro dans le fichier pour que vous puissiez voir s'il y a une erreur dedans, mais elle a deja ete executé, le excel c'est le resultat de cette macro
    Fichiers attachés Fichiers attachés

  19. #19
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    Si tu fais étape par étape ce que j'ai expliqué, tes dates se trouvant en colonne D, tu sélectionnes les cellules $D$2:$D$1423 (le point 3 de mon explication), tu arriveras au résultat escompté.
    Ensuite tu actualises le tableau croisé dynamique.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  20. #20
    Membre actif
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loir et Cher (Centre)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 69
    Par défaut
    Ok je vais essayer d'integrer ça dans la macro....



    Merci a tout le monde ça marche

    Philippe Tulliez, j'ai trouvé pourquoi avec ton code j'y arrivais pas, en fait je laissé "Sub t()" et "End Sub"............

    Merci a tous

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Tri des dates
    Par AJ_ing dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/02/2011, 14h45
  2. trié des date avec une boucle for each
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/09/2009, 11h00
  3. tri des dates format jj/MM/année
    Par jacksparo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/01/2009, 17h54
  4. Affichage des dates dans un ListGridView, et tri
    Par mister3957 dans le forum Framework .NET
    Réponses: 4
    Dernier message: 18/03/2007, 11h26
  5. tri des dates par semaine
    Par syldudu dans le forum Access
    Réponses: 17
    Dernier message: 10/10/2006, 11h27

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