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 :

Récupérer des données en fonction de dates


Sujet :

Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut Récupérer des données en fonction de dates
    Bonjour,

    je suis dans la dernière ligne droite de mon fichier, mais je suis devant des difficultés qui sont au dessus de mes capacités...

    Je fais un truc vraiment crados et loin d'être fiable...

    Je vous explique via un exemple :
    Date Valeur
    01/08/17 A
    01/08/17 B
    04/08/2017 C
    06/08/2017 D
    08/08/2017 E
    10/08/2017 F
    14/08/2017 G
    17/08/2017 H
    20/08/2017 I

    Il faut que je récupère les valeurs de la date la plus ancienne ainsi que dans les 4 jours qui suivent, donc :
    Date Valeur
    01/08/17 A
    01/08/17 B
    04/08/2017 C

    Puis les valeurs pour la date suivant la plus petite + 4 jours, suivie de 4 jours :
    Date Valeur
    06/08/2017 D
    08/08/2017 E
    10/08/2017 F

    Et si possible la même chose encore une fois, donc :
    Date Valeur
    14/08/2017 G
    17/08/2017 H

    Cela me semble vraiment compliqué...
    Si quelqu'un en est capable et à la bonté de m'aider, je le remercie beaucoup !

    Perso je passe par un système qui par de la 1ere date puis sur X lignes suivante, je regarde si la date est inférieure à la 1ere date + 4j.
    Puis je refais la même chose mais en partant de la 2e ligne,
    puis en partant de la 3e ligne...
    Ce qui fait des tonnes de lignes et de conditions, c'est franchement compliqué de s'y retrouver...

    Merci à vous.
    Sous Kubuntu 20.04

  2. #2
    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 762
    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 762
    Points : 28 621
    Points
    28 621
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La solution vraisemblablement à l'aide du filtre avancé d'excel.

    A lire Les filtres avancés ou élaborés dans Excel
    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

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Le truc c'est qu'il faut que ça soit automatique car je refais d'autres commandes en fonction des résultats.

    Et le fichier est à destination de personnes ne maîtrisant pas du tout excel.

    Il me faut donc une formule.
    Sous Kubuntu 20.04

  4. #4
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Une proposition par formule.

    Nom : données dates.JPG
Affichages : 4041
Taille : 75,3 Ko

    Les plages A2:A10 et B2:B10 sont respectivement appelées dates et valeurs.
    La formule en D2 est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LIGNE()-1<=NB.SI.ENS(dates;">="&PETITE.VALEUR(dates;NB($C:C)+1);dates;"<="&PETITE.VALEUR(dates;NB($C:C)+1)+4);PETITE.VALEUR(dates;NB($C:C)+LIGNE()-1);"")
    Celle en E2 est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDEX(valeurs;EQUIV(D2;dates;0)+NB.SI(D$1:D1;D2));"")
    Ces deux formules sont à recopier sur toute la plage D2:E5 et sur les plages G2:H5 , J2:K5 , M2:N5 et P2:Q5.
    Cordialement
    Claude

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Merci pour la proposition

    Mais j'obtiens un #Valeur ! en D2.

    et je ne comprends pas d'où vient le $C.
    Sous Kubuntu 20.04

  6. #6
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Re,
    Je joins le fichier réalisé pour effectuer des copies d'écran. Sur ce fichier, la formule renvoie une valeur numérique en D2 et cela permettra de faire la comparaison entre les formules écrites.
    Nb($C:C) est égal à 0 puisqu'il n'y a aucun nombre écrit dans la colonne C, mais cette astuce permet d'utiliser une seule formule à recopier sur toutes les plages.
    En effet, en G2, avec l'incrémentation des références, on aura NB($C;F) , ce qui permettra de compter les nombres de la colonne D, donc les trois dates déjà écrites et de chercher ainsi la quatrième plus petite date du tableau source.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    Merci, je ne sais pas pourquoi ça ne fonctionnait pas...

    Par contre je voudrais ajouter une colonne avec un tarif à droite des valeurs et ça gène dés que je rentre des chiffres.
    En effet, les tableaux affichent moins de résultats.

    Alors j'arrive à contourner le problème en reprenant ces valeurs dans un autre tableau dans le quel j'ajoute mes tarifs mais bon, je suis sûr qu'il serait possible de l'ajouter :p

    En tout cas, merci beaucoup pour ce code actuel !
    Sous Kubuntu 20.04

  8. #8
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    S'il s'agit de ne rajouter qu'une colonne tarif au seul tableau source (colonne C), il suffit de sélectionner la colonne C et de demander l'insertion d'une colonne. Les formules en E2 (ex D2) et F2(ex E2) se modifient d'elles-mêmes.
    Si l'on rajoute une colonne tarif à chaque tableau partiel, il faut décider d'un autre moyen de décompter les dates déjà utilisées ( car l'emploi de la fonction NB supposait que les seuls nombres écrits dans la plage D: Q étaient des dates ).
    Dans le classeur joint, pour tenir compte de l'ajout de tarifs, la formule en E2 a été modifiée en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LIGNE()-1<=NB.SI.ENS(dates;">="&PETITE.VALEUR(dates;NB.SI($D:D;">="&MIN(dates))+1);dates;"<="&PETITE.VALEUR(dates;NB.SI($D:D;">="&MIN(dates))+1)+4) ; PETITE.VALEUR(dates;NB.SI($D:D;">="&MIN(dates))+LIGNE()-1);"")
    Mais j'ai supposé que tous les tarifs étaient inférieurs au numéro de série correspondant à la plus petite des dates écrites en colonne A.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Points : 460
    Points
    460
    Par défaut
    C'est génial !

    Merci énormément !!
    Sous Kubuntu 20.04

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

Discussions similaires

  1. [AC-2007] Récupérer des données en fonction de date la plus récente
    Par m6riil dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 22/04/2013, 20h42
  2. Réponses: 2
    Dernier message: 07/09/2011, 09h59
  3. Réponses: 5
    Dernier message: 14/03/2010, 21h50
  4. [MySQL] Récupérer des données en fonction du posteur
    Par darkphenx dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/11/2006, 16h27
  5. fonction pour récupérer des données xml
    Par jeff29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2006, 15h46

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