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

Excel Discussion :

Rechercher des auteurs compris dans un intervalle de date [XL-365]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Rechercher des auteurs compris dans un intervalle de date
    Bonjour à tous,

    Je recherche les auteurs.rices né.e.s à partir de 1895 et décédés avant 1995. La colonne qui semble le mieux répondre à cette interrogation serait la colonne J (auteurs principaux) même si les informations ne sont pas toujours complètes. Pourriez-vous m'aider sur la formule à composer ? car j'ai un fichier de plus de 6 000 lignes.
    Un grand merci d'avance
    Bonne fin de journée
    Excel 72




    Auteurs américains.xlsx

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    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 523
    Points : 16 459
    Points
    16 459
    Par défaut
    Bonjour
    Un proposition via PowerQuery :
    • On calcule les dates de naissance et mort
    • un tableau permet de choisir les dates voulues
    • Soit les 2 dates sont disponibles et on sélectionne, soit la seconde date est absente et si la 1ère à moins de 100 ans on sélectionne aussi
      Ces choix sont modifiables


    On affiche le lignes entières mais cela peut aussi se limiter à quelques colonnes...

    Actualiser le tableau résultat quand on modifie les années voulues
    Fichiers attachés Fichiers attachés
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 272
    Points : 355
    Points
    355
    Par défaut
    Bonsoir,
    Une proposition également basée sur Power Query
    Avec également un choix sur les années de naissance et de décès (>= DDN et <= DDC)
    Le code M (visible dans l'éditeur avancé de l'éditeur PQ -> Alt + F12 pour y accéder)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    let
        Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
        Calcul_DDN = Table.AddColumn(Source, "DDN", each let x = try Int64.From(Text.End(Text.BeforeDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
        Calcul_DDC = Table.AddColumn(Calcul_DDN, "DDC", each let x = try Int64.From(Text.Start(Text.AfterDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
        CritDDN = T_Crit[#"Année Naissance"]{0},
        CritDDC = T_Crit[#"Année Décès"]{0},
        Filtre_Dates = Table.SelectRows(Calcul_DDC, each [DDN] >= CritDDN and [DDC]<= CritDDC),
        Ajout_Auteur = Table.Distinct(Table.AddColumn(Filtre_Dates, "Auteurs", each if [DDN]=null then [Auteurs principaux] else Text.Trim(Text.BeforeDelimiter([Auteurs principaux],Text.From([DDN]))))[[Auteurs],[DDN],[DDC]])
    in
        Ajout_Auteur
    Clic droit dans le tableau résultat + "Actualiser" pour mettre à jour
    Fichiers attachés Fichiers attachés

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Rechercher des auteurs compris dans un intervalle de date
    Bonjour

    Je vous remercie pour vos réponses @mapeh et @chris78 et le temps que vous avez pris pour ma demande. Vous serez-t'il possible de me faire parvenir les étapes de votre résultat ? Quelles fonctions dans la colonne date(colonne J) sur power query avez-vous utilisé (regrouper par ?) ou un filtre numérique ?

    Je vous remercie par avance. Je trouve cet éditeur génial !

    Bonne journée

    E72

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 272
    Points : 355
    Points
    355
    Par défaut
    Bonjour,
    Voici le code commenté (légèrement modifié à la dernière étape)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    let
        Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
        // Tableau Source
        Calcul_DDN = Table.AddColumn(Source, "DDN", each let x = try Int64.From(Text.End(Text.BeforeDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
        // Calcul de la date de naissance. On cherche les 4 caractères situés juste avant le tiret "-", et on essaye (try Int64.From) de transformer ces 4 caractères en numérique. Si cela fonctionne, on récupère cette année, sinon, on met null
        Calcul_DDC = Table.AddColumn(Calcul_DDN, "DDC", each let x = try Int64.From(Text.Start(Text.AfterDelimiter([Auteurs principaux], "-"),4)) in if x[HasError] then null else x[Value]),
        // Même principe que pour l'année de naissance, sauf qu'ici, on prend les 4 caractères situés juste après le tiret. pour calculer l'année de décès, si elle existe
        CritDDN = T_Crit[#"Année Naissance"]{0},
        // Récupération de l'année de naissance dans le tableau de critère
        CritDDC = T_Crit[#"Année Décès"]{0},
        // Récupération de l'année de décès dans le tableau de critère
        Filtre_Dates = Table.SelectRows(Calcul_DDC, each [DDN] >= CritDDN and [DDC]<= CritDDC),
        // Filtrage sur ces deux dates
        Ajout_Auteur = Table.Distinct(Table.AddColumn(Filtre_Dates, "Auteurs", each Text.Trim(Text.BeforeDelimiter([Auteurs principaux], Text.From([DDN]))))[[Auteurs],[DDN],[DDC]])
        // Ajout d'une colonne pour récupérer les auteurs. On récupère le texte situé avant la date de naissance (Text.From([DDN])), auquel on enlève le ou les espaces englobant ce texte (Text.Trim). On ne garde que les 3 colonnes calculées (Auteurs, DDN et DDC), auxquelles on enlève les doublons (Table.Distinct)
    in
        Ajout_Auteur

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Rechercher des auteurs compris dans un intervalle de date
    Bonjour

    Je remercie @mapeh pour sa réponse. C'est un peu technique pour moi. Je ne maîtrise pas le langage sql. Pourriez vous décrire avec power query les étapes vous avez suivies ? Peut-être @78chris pourra me décrire sa démarche. Je suis vraiment désolée pour ce contretemps. Quelles fonctions dans la colonne date(colonne J) sur power query avez-vous utilisé (regrouper par ?) ou un filtre numérique ?

    Je vous remercie par avance. Je trouve cet éditeur génial !

    Bonne journée

    E72

  7. #7
    Expert éminent sénior

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

    Quand on ouvre l'interface PowerQuery, ALT F12, à droite il y a la liste des étapes de la requête et quand on clique sur une étape, on a le détail dans le barre de formule et en cliquant sur le petit rouage de la ligne d'étape.

    Donc en pas à pas on peut voir le cheminement appliqué
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Rechercher des auteurs compris dans un intervalle de date
    Bonjour,

    J'ai encore quelques difficultés sur la manière d'intégrer avec power query l'intervalle de dates(1895-1995). Comment avez-vous fait ? J'ai réussi à modifier la colonne avec des nombres entiers.
    Merci pour votre aide
    Bonne fin de journée
    Laure

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Recherche auteurs
    Bonjour si vous pouvez faire des copies d'écran ce serait encore mieux
    Merci à vous
    Cordialement
    E72

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 523
    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 523
    Points : 16 459
    Points
    16 459
    Par défaut
    RE

    Je répète, voir les étapes à droite :
    • Typage de données,
    • duplication de la colonne Auteurs principaux
    • Fractionnement de ce duplicata de selon les transitions de non-chiffre à chiffre : cela donne normalement 4 colonnes mais dans la barre de formule on modifie les noms proposés par PowerQuery et la référence à la dernière colonne
    • Suppression de la 1ère des 3 colonnes obtenues
    • Remplacement de la 1ère des 2 colonnes Années restantes par les 4 premiers caractères de celle-ci (ici on intervient dans la barre de formule
    • Remplacement de la seconde des 2 colonnes Années restantes par les 4 premiers caractères de celle-ci si au moins 4 caractères ou par une chaîne vide sinon (ici on intervient dans la barre de formule
    • Il faut d'ailleurs simplifier et corriger ainsi
      = Table.ReplaceValue(#"Valeur remplacée",each [Année2],each if Text.Length([Année2])>=4 then Text.Start([Année2],4) else "" ,Replacer.ReplaceText,{"Année2"})
    • Typage en nombre entier des 2 Années
    • ajout dans une colonne personnalisée de la table Choix et développement des deux colonnes
    • ajout d'une colonne personnalisée avec une formule pour repérer les lignes à conserver et filtre
    • suppression des 3 colonnes inutiles


    Si les remplacements te paraissent compliqués, tu peux ajouter une colonne avec la formule adéquate et supprimer ensuite la colonne initiale
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2024
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2024
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Rechercher des auteurs compris dans un intervalle de date
    Bonjour 78Chris et mapeh

    Je vous remercie pour votre aide. Je vais essayer avec les étapes.
    Bonne journée
    Cordialement
    E72

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/04/2009, 12h51
  2. Recherche des mots spécifiques dans le document Word
    Par quangdao dans le forum VBA Word
    Réponses: 8
    Dernier message: 04/12/2008, 17h00
  3. Réponses: 6
    Dernier message: 08/11/2008, 16h37
  4. VBA-E Recherche des différents noms dans mon tableau excel
    Par tazmania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2007, 20h31

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