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 :

Dates non complètes [XL-2019]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2018
    Messages : 10
    Points : 13
    Points
    13
    Par défaut Dates non complètes
    Bonjour,

    Mon logiciel de généalogie exporte vers "Excel", un certain nombre de données.

    Je cherche toutefois à supprimer les dates non complètes dans certaines colonnes: par exemple après 1780, avant 05/1810, entre 1650 et 1660 afin de ne conserver que les dates au format complet (jj/mm/aaaa).

    J'ai essayé via la mise en forme conditionnelle mais cela ne fonctionne pas ...

    Quelqu'un a-t-il une idée ?

    Remerciements anticipés

    Salutations

    Gérard

  2. #2
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2007
    Messages : 267
    Points : 350
    Points
    350
    Par défaut
    Bonjour,
    2 options :
    En Excel pur (sans VBA), il faut créer une nouvelle colonne à droite du tableau de données avec une formule propagée jusqu'en bas du tableau peut décoder cette date et ne conserver que les dates conformes.
    En VBA, une boucle sur cette colonne date devrait permettre de supprimer les dates non conformes.

    A disposition.
    Bertrand

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 920
    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 : 12 920
    Points : 28 905
    Points
    28 905
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Difficile de gérer des dates antérieures au 1er janvier 1900 avec Excel (sous windows) et 1/1/1904 (avec Mac) donc je ne vois pas trop de solution.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2018
    Messages : 10
    Points : 13
    Points
    13
    Par défaut DATES NON COMPLETES (avant 1900)
    Bonjour,

    Merci pour vos réponses ..

    1 - J'ai finalement trouvé une solution:
    - Cellules des colonnes contenant des dates --> en format standard
    - "NbCAR" comptabilisation du nombre de caractères de chaque cellule (une date en jj/mm/aaaa) = 10 caractères
    - A partir de là j'ai facilement pu supprimer les cellules qui n'avaient pas 10 caractères

    Encore merci

    Salutations

    Gérard

  5. #5
    Membre chevronné
    Inscrit en
    Septembre 2007
    Messages
    1 134
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 134
    Points : 1 808
    Points
    1 808
    Par défaut
    Bonsoir,
    Citation Envoyé par GEGEC Voir le message
    J'ai essayé via la mise en forme conditionnelle mais cela ne fonctionne pas ...afin de ne conserver que les dates au format complet (jj/mm/aaaa)
    Je te propose ceci :
    - tu te positionnes en A1 de ta feuille
    - tu vas dans formule gestionnaire de noms / nouveau
    - dans nom tu saisis 'date_ok' par exemple
    - dans Fait référence à tu colles cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(STXT(A1;1;2)<="31";STXT(A1;3;1)="/";STXT(A1;4;2)<="12";STXT(A1;6;1)="/";NBCAR(A1)=10)
    - tu sélectionnes ta plage de dates à vérifier
    - mise en forme conditionnelle tu choisis une formule et tu colles celle-ci
    -et tu choisis ta mise en forme qui s’appliquera aux dates incorrectes si elles sont au format texte

  6. #6
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2018
    Messages : 10
    Points : 13
    Points
    13
    Par défaut Dates non complètes
    Bonjour,

    Merci pour cette suggestion

    Ca colle .. ( si je puis dire)

    Gérard

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Salut

    Citation Envoyé par anasecu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(STXT(A1;1;2)<="31";STXT(A1;3;1)="/";STXT(A1;4;2)<="12";STXT(A1;6;1)="/";NBCAR(A1)=10)
    Nom : 2021-06-08_214304.png
Affichages : 143
Taille : 73,5 Ko

    (Outre le fait qu'il n'est pas nécessaire de passer par une plage nommée)


    On notera que Power Query permet de récupérer les dates avant 1900 et de mentionner les erreurs en quelques clics et sans formules. Attention que le 29/02/1900 (date inexistante dans tous les calendriers mais valide pour Excel ) est transformé en 28/02/1900

    Nom : 2021-06-08_215836.png
Affichages : 150
Taille : 7,6 Ko

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

Discussions similaires

  1. [VB.Net] cast du type 'DataRowview' en type 'Date' non valide
    Par badnane2 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/06/2006, 15h50
  2. [Tableaux] pb avec isset et formulaire non complété
    Par PuppeT mAsTer dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2006, 12h31
  3. Erreur Date non prise en compte
    Par priest69 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/02/2006, 23h46
  4. [Regex] reconnaitre une chaîne non complète
    Par EdoBvD dans le forum Collection et Stream
    Réponses: 19
    Dernier message: 13/07/2004, 17h14
  5. [TComPort] -> Pb de trame non complète ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/04/2004, 14h22

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