Récupération de données excel

Résolu
Bonjour,

j'enregistre des données sur un fichier

1er colonne : date (rentré une fois par jour)
2e colonne : heure
3e colonne : résultat

je voudrais récuperer sur un 2 ème fichier les données pour 1 journée

avec RECHERCHEV, je n'arrive à obtenir qu'une seule valeur, celle où il y a la date

comment faire merci par calcul ou si il y a moyen avec une macro

merci
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. bonjour

    j'ai fais un test sur la même feuille avec les données en A13:C22 classées en colonne comme tu l'indiques.
    en E13 j'indique la date à rechercher
    en F13 tu écris la formule : =SI($E$13=A13;RECHERCHEV($E$13;A13:C22;2;FAUX);"")
    et en G13 : =SI($E$13=A13;RECHERCHEV($E$13;A13:C22;3;FAUX);"")
    ensuite tu recopies ces deux cellules vers le bas jusqu'à la ligne 22
    tu obtiens ainsi les réponses pour la journée choisie

    à plus
    0
    1. Contributeur
      Bonjour
      Petite remarque le Pierre.
      la formule fonctionne sans doute mais pour la tirer sur la hauteur , je pense qu'il faut bloquer les limites du champs dans l'item recherche , sinon il se décale à chaque ligne:
      RECHERCHEV($E$13;$A$13:$C$22;2;FAUX);"")
      Il suffira de rentrer cette formule en F13, de la tirer en G13, de remplacer en G13 le ;2 par ;3 et ensuite de tirer sur toute la hauteur
      CRDLMNT
      0
    2. @Vauclusebonjour

      non, il ne faut pas rendre l'adresse du tableau de données absolue.
      C'est ce qui permet d'avoir le résultat en face de la ligne concernée du tableau et de ne pas donner constament la première valeur valide du tableau
      à plus
      0
  2. Merci

    Mes données en fin d'année s'étale sur 3600 lignes d'analyses avec à peu près 200 dates différentes.

    sur un autre classeur j'ai une feuille journalière ou j'indique la date, sur cette feuille j'aimerais récupérer uniquement les valeurs pour ce jour.

    j'ai bien essayer d'adapter ta formule mais c'est chaud! je pense qu'il me faudrait une macro mais j'y connais pas grand chose

    merci quand même

    max
    0
  3. salut voici mon fichier j'ai tous rassemblé sur le même fichier

    je ne peux pas copier la formule jusqu'en bas en fin d'année j'aurais environ 3000 résultats

    à moins de pouvoir ensuite récupérer juste les 20 lignes au niveau de ma feuil1

    https://www.cjoint.com/?ejklVsblcf
    0
    1. salut voici mon fichier j'ai tous rassemblé sur le même fichier

      je ne peux pas copier la formule jusqu'en bas en fin d'année j'aurais environ 3000 résultats

      à moins de pouvoir ensuite récupérer juste les 20 lignes au niveau de ma feuil1

      https://www.cjoint.com/?ejklVsblcf
      0
      1. bonjour

        Voici ton fichier rectifié avec des macros :
        https://www.cjoint.com/?ekj7t64F7W

        Pour l'utiliser il faut indiquer une date et choisir un onglet à analyser (liste déroulante) car je pense que tu auras plusieurs type de produits à suivre
        ensuite appuie sur le bouton Synthèse

        contacte moi si tu souhaites des précisions

        à plus
        0
    2. Salut

      c'est tout bon sauf que j'aimerais avoir un peu plus d'explication pour pouvoir modifier

      en fait je dois rappatrier sur la feuille journalière les valeurs pour une date de chaque onglet (j'en aurais 7 différents) donc coller ces valeurs à un endroit différent

      En tout cas merci, c'est déjà un TRES grand pas

      max
      0
      1. ou alors plutot que de choisir l'onglet, faire plusieurs macro pour chaque onglet

        j'ai mis quasi tous les onglets dans le fichier suivant

        https://www.cjoint.com/?ekmScFGIqC

        juste faire une macro pour un onglet après je me débrouillerais,

        je te remercie
        0
        1. bonjour

          voici le code modifié :
          https://www.cjoint.com/?ekoMaoS1ih
          j'ai simplement ajouté une boucle do...loop pour lire la liste des onglets et réaliser la synthèse globale
          j'ai ajouté en colonne D le nom de l'onglet concerné pour chaque valeur (c'est peut être utile ?)
          à plus
          0
      2. T'es super cool et super bon en excel

        merci

        mais je te le redemande stp, tu peux pas me faire la macro pour un seul onglet (comme ça je n'aurais qu'à changer le nom de l'onglet dans VB pour changer), en fait chaque onglet est un fichier, j'ai tous mis dans le même fichier pour pouvoir expliquer mon problème.

        En tout cas, tu m'as déjà fait avancer énormément et je te remercie

        max
        0
        1. bonjour

          voici le code à personnaliser pour chaque onglet :
          Sub TriSelonDate2()
              '--------------------------------------------
              'identifier l'onglet
              OngletRecherche = "5 kg Amylacée"
              '--------------------------------------------
              
              Application.ScreenUpdating = False
              LigOng = 9
              ColOng = 12
              LigRes = 9
              ColRes = 1
              
              'Analyse
              Lig = 9
              Col = 2
              DateRecherche = Sheets("Résultats").Cells(3, 5).Value
              Sheets(OngletRecherche).Select
              
              Do
                  DatEnCours = Cells(Lig, Col).Value
                  If DatEnCours = "" Then Exit Do
                  
                  If DatEnCours = DateRecherche Then
                      Sheets("Résultats").Cells(LigRes, ColRes).Value = Cells(Lig, Col + 3).Value
                      Sheets("Résultats").Cells(LigRes, ColRes + 1).Value = Cells(Lig, Col + 4).Value
                      Sheets("Résultats").Cells(LigRes, ColRes + 2).Value = Cells(Lig, Col + 5).Value
                      Sheets("Résultats").Cells(LigRes, ColRes + 3).Value = OngletRecherche
                      LigRes = LigRes + 1
                  End If
                  Lig = Lig + 1
              Loop
              Sheets("Résultats").Select
              Range("a1").Select
              Application.ScreenUpdating = True
          End Sub


          mais pour rendre ton code universel, si dans tous tes classeurs, ton 1er onglet est "Résultats" et le 2ème tes données, tu peux remplacer dans le code : OngletRecherche = "5 kg Amylacée" par :
          OngletRecherche = Sheets(2).Name

          à plus
          0
      3. merci pour tout LePierre

        max
        0