[Excel] Recherche de Données ?

Résolu
Bonjour

Excel 2010
Je suis presentement a la creation d'un fichier "Horraire" sous forme de Calendrier.
J'ai un feuille dans lequel je rentre mes informations (Tech, Date d'installation, Client, ...) et
j'aimerai etre capable de faire afficher les info rentrer dans mon calendrier au bonne date, les une en dessous des autres dans une meme cellule (si possible) sinon elle doit rajouter un ligne si elle en n'a pas assez.

Pour l'instant j'utilise cette ligne de commande:
=SI(E5=Tableau1[Jour],(RECHERCHE('C-Août'!E5,Tableau1[Jour],Tableau1[Initiale])&" "&RECHERCHE('C-Août'!E5,Tableau1[Jour],Tableau1[Client])&" "&RECHERCHE('C-Août'!E5,Tableau1[Jour],Tableau1[Abreger]))," " )

Tableau1[Jour] = Est ma Date d'installation
Tableau1[Initiale] = Est le nom de mon Tech
Tableau1[Client] = Est mon client
Tableau1[Abreger] = Est la tache a effectuer chez le client

Cette ligne fonctionne, mais seulement pour le premier de la liste et renvoi rien sur les autre case de mon Calendrier. Et sachant qu'il va y avoir plusieur Tech (qui peuvent avoir plusieur tache et client dans la meme journe), cette ligne ne fonctionne pas vraiment.

Pour plus d'info demander.
Merci pour toutes aide!

20 réponses

  • Votes
  • Date
  • Date décroissante
Résumé de la discussion

Excel 2010 est utilisé pour un calendrier où les informations saisies (Tech, Date d’installation, Client) doivent apparaître à la bonne date, idéalement dans une même cellule. Pour lier les données, la solution tentée utilisait une combinaison SI et RECHERCHE, mais le système ne traitait qu’un seul élément par jour lorsque plusieurs techniciens et tâches existaient. Après partage du fichier et échanges via le forum, une solution fournie par un intervenant a visé à corriger le rendu, permettant d’afficher correctement les informations sur plusieurs entrées. Plus tard, des compléments ont été envisagés pour gérer les vacances et les plages de dates, nécessitant des ajustements du calcul et des lignes additionnelles dans le calendrier.

Bobot (l’IA à votre service)
  1. Bonjour,
    Merci pour le fichier.
    Les données sont bien celles dans le [Tableau1] de la feuille [H-Août] Oui / Non ?
    Mettre valeurs [Initiale/Client/Abreger] dans calendrier feuille [C-Août] Oui/Non ?
    A première vue je pense qu'il n'est pas possible de mettre plus de 1 référence par cellule sans l'utilisation de procédure VBA.
    Est-ce que la disposition du calendrier est fixe .... ?

    Une réponse demain.

    Salutations.
    Le Pingou
    1. Bonjour

      Oui pour les 2

      Merci!
      1. Bonjour,
        Merci.
        Note: j'ai apporté un complément à mon message désolé, du croisement.
        Salutations.
        Le Pingou
      2. La disposition du calendrier dépend e ma page reference
    2. Bonsoir,
      Une première correction, formule correct (avec la fonction NB.SI() date) correspond à la cellule [E6]
      =SI(E5="";"";SI(NB.SI(Tableau1[Jour];E5);(RECHERCHE('C-Août'!E5;Tableau1[Jour];Tableau1[Initiale])&" "&RECHERCHE('C-Août'!E5;Tableau1[Jour];Tableau1[Client])&" "&RECHERCHE('C-Août'!E5;Tableau1[Jour];Tableau1[Abreger]));"Faux"))

      A étendre aux autres cellules.

      Concerne le calendrier, je ne parle pas des dates mais de sa présentation (vous avez les jours sur 7 colonnes et les semaines en ligne) ?

      Salutations.
      Le Pingou
      1. oui la présentation ne changera pas
        et est-ce que cette modification permet d'en ajouter plusieur sur la meme date ??
      2. Bonjour,
        Non mais au moins une par cellule selon les données et aussi cellule vide si pas de jour pour le mois (le premier août est un jeudi....)
        Bonne nuit.
        Salutations.
        Le Pingou
      3. Contributeur
        Bonsoir,
        Je vais peut-être émettre une bêtise ?-)

        Mais, s'il travaille avec une date entière [Date+Heure] et qu'il varie l'heure de P.ex 1Mn ! ???
    3. Bonjour Rah-LeX,
      Vous avez précisé : oui la présentation ne changera pas
      Donc il faut passer par une procédure VBA pour gérer les inscriptions dans le calendrier.
      Je regarde la faisabilité, patience.
      Question, est-ce que vous pouvez récupérer un fichier sur https://www.cjoint.com/ .......Oui / Non ?

      Salutations.
      Le Pingou
      1. Non pas du Bureau, mais de chez moi oui
    4. Bonjour Rah-LeX,
      Merci pour la formule :
      =INDEX(Tableau1#Données,EQUIV(E5,'H-Août'!E6:E13,0),2)&"/n"&SI(DECALER(INDEX(Tableau1#Données,EQUIV(E5,'H-Août'!E6:E13,0),3),1,0)=E5,DECALER(INDEX(Tableau1#Données,EQUIV(E5,'H-Août'!E6:E13,0),2),1,0))
      L'avez-vous essayé pour contrôler si cela fonctionne .... !
      J'attends votre réponse pour reprendre ma proposition
      .

      1. Bonjour

        J'ai essayer votre modification que vous m'avez envoyer , mais elle me donne toujours une erreur avec le SI(E5=""

        La Formule que je vous ai envoyer fonctionne bien, mais il faudrai l'utiliser sur une loop, sinon je doit la rentrer 50-60 fois par cellule. ce qui n'a pas de sence.

        Et je connais vraiment rien en VBA

        Merci!
        1. Bonjour,
          C'est étonnant, le SI(E5="" ... voir fichier : https://www.cjoint.com/?3GzukuC5ZgA

          1. Ok j'ai trouver mon probleme avec votre formule, c'est mon Excel qui ne prend pas les "point-virgule" Je l'ai remplacer par de "virgule" et tout fonctionne biensa enleve mes #N/A :)
        2. Bonjour,
          Je vous laisse découvrir ma proposition : https://www.cjoint.com/?3GzxobV76Fq
          Est-ce dans le bon sens ?
          Au cas où vous ne pouvez pas le lire, dite-moi comment vous le transmettre.... ?

          1. Bonjour

            J'ai pu recuperer ton fichier, mais je ne comprend son fonctionnement.
            Si je rajoute ou modifie une Donne rien ne change dans le Calendrier ?

            Merci!
          2. Bonjour

            J'ai trouver quand je rajoute ou modifie des donnes je doit aller reactualiser la cellule en question et elle se met a jour.
            -->Y'a-t-il une facon de faire qu'elle soit automatique??
            -->Et s'il y 20 entre de donne pour la meme date est-ce-que je peux faire en sorte que la cellule s'agrandissent par elle meme en Hauteur ??

            Sinon Inpecable. Me reste juste a bien comprendre ton code :)

            Merci!
        3. Bonjour,
          Eh bien j'ai omis de contrôler la mise à jour automatique de la fonction personnalisé [gerercaltech].
          Je vais corriger mon oubli, patience.
          1. Bonjour,
            Je vous laisse essayer cette version : https://www.cjoint.com/?3GAswcSVQef

            Fonctionnement : la fonction personnalisée [gerercaltech] se déclenche automatiquement lors d'un changement dans le [Tableau1] et à la fin de la mise à jour des cellules du calendrier une autre procédure se déclenche sur événement [Calculate] et ceci permet d'adapter la hauteur des lignes selon leurs contenus.

            Salutations.
            Le Pingou
            1. Bonjour

              Desoler de ne pas avoir repondu avant, mais j'etait dans l'impossibilité de repondre avant :)

              Juste un Mot. WOW.

              Ca repond vraiment a se que voulait Merci beaucoup de ton aide!!
              1. Merci et bonne journée.
                Salutations.
                Le Pingou
            2. Bonjour

              J'aurai un dernier point a te demander!! Du moin jespere :D

              J'ai modifier un peu ma page ou il y mon Calendrier. J'ai rajouter une ligne en desous de chaque case vide.
              Je me suis creer une nouvelle page nomme Vacance dans laquelle j'aimerais y entrer mon Tech / Initial / Date-Debut / Date-Fin.
              J'aimerais etre capable que quand je rentre une date de debut et une de fin, celle si renvoi dans la cellule du bon calendrier les Initiale pour tout les jour qu'il est en vacance.

              Sa fonctionne #1 dans ma page Disponibilite avec cette commande

              =SI([@Colonne1]="","",(SI(C$5=""," ",SI(SOMMEPROD((InstallateurJuillet=$B7)*(C$5>=JourJuillet)*(C$5<=JourJuillet2))>0,"X",""))&SI(C$5=""," ",SI(SOMMEPROD((InstallateurJuillet2=$B7)*(C$5>=JourJuillet)*(C$5<=JourJuillet2))>0,"X",""))&SI(C$5=""," ",SI(SOMMEPROD((InstallateurJuillet3=$B7)*(C$5>=JourJuillet)*(C$5<=JourJuillet2))>0,"X",""))))

              Mais dans le calendrier tout comme la premiere foi ca ne fonctionne pas
              Je croyais pouvoir adapter ta macro pour y rajouter une date de fin. Mais je mis connais pas asser encore :(

              Function Vacancetech(datref As Date)
              Application.Volatile
              info = ""
              Set sh = Sheets("H-Vacance")
              For Each dat In sh.Range("E6:E" & sh.Cells(Rows.Count, 5).End(xlUp).Row)
              If dat = "" Then Exit For
              If dat = datref Then
              info = info & sh.Cells(dat.Row, 4)
              End If
              Next
              Vacancetech = "Congé:" & info
              End Function

              Si tu peux encore m'éclairer de tes lumieres !!

              Merci!
              1. Bonjour,
                Sans le fichier avec vos modifications ce n'est pas possible.

                1. Bonjour,
                  Merci pour le fichier.
                  A première vue vous avez recopié ma fonction que partiellement (manque un argument : [shref As Range]) et dans ce sens aucune de vos fonctions ne peut fonctionner correctement.
                  Pas simple ce travail ....patience je me concentrerai uniquement sur le mois d'août.

                  1. Bonjour,
                    En parcourant votre fichier, il est nécessaire de changer ma fonction personnalisée pour tenir compte de votre utilisation des tableaux Excel.
                    Vous avez maintenant uniquement 2 fonctions (avec 2 arguments) qui permette de traiter les données des tableaux y relatifs. Fonction [gercaltech()] et [gervactech()] dans module [lepingou].
                    Remarque : vous pouvez supprimer vos fonctions.... !
                    J'ai mis à jour uniquement la feuille [C-Août], le reste est pour vous.... en plus par commodité de travail j'ai groupé les feuilles relative à [Aout] directement à la suite de [H-Vacance].
                    Le fichier : https://www.cjoint.com/?3HbqVPE5Yhx

                    Salutations.
                    Le Pingou
                    1. Bonjour

                      WOW Merci beaucoup.
                      J'avai reusis a trouver comment faire avant que tu me l'envoi, (Vive goggle :D) mais mon code etait vraiment trop lourd, sa prenait plusieur minute avant d'avoir le rafraissiment.

                      Mais avec le tien, ont voie vraiment que j'ai beaucoup de chemin a faire avant d'ateindre se niveau!!

                      Merci encore!
                      1. Merci, de rien et bonne journée.
                        Salutations.
                        Le Pingou