Macro de recherche

Résolu
Bonjour à tous,

Je souhaiterais insérer une macro qui me permettrait de rechercher pour une personne donnée, les jours et heures qu'elle doit récupérer. Ces jours et heures changent en fonction de la personne.
Je joins le fichier excel voir explication détaillée en feuille 2

https://www.cjoint.com/c/FBCitlpVWqe

Merci d'avance pour votre aide

3 réponses

  1. Bonjour,

    tu n'as pas besoin de macro, cette formule le fait
    =RECHERCHEV(C7;Feuil1!B5:DQ35;7;0)

    je te conseille par contre de nommer ta matrice feuille1, exemple la plage B3:DQ35 nommée List, la formule devient
    =RECHERCHEV(C7;List;7;0)
    pour les autres recherches, il suffit de changer l'index colonne de ta matrice, 7 te donne le résultat de la 7éme colonne de ton tableau, si tu veux récupérer le contenu de la colonne K change 7 par 10

    je te complète plus tard pour les recherches horizontales

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Oui mais je souhaiterais obtenir tous les résultats en une seule fois. La rechercheV donne le résultat pour une cellule ici dans l'exemple la colonne 7. Je ne sais pas si cela est possible ? c'est pour cela que je pensais par une macro
      0
  2. Contributeur
    Bonjour,

    Pourquoi une macro ?

    Ce que tu veux obtenir n'est-il pas les heures colonne G (à diviser par 24) moins les heures colonne H ?
    =G5/24-H5
    0
    1. Non, je souhaite obtenir toutes les dates et heures correspondant à la date en fonction de la personne choisie en une seule fois.
      0
  3. Bonjour,

    Une proposition
    https://www.cjoint.com/c/FBCjK4VKKO5

    A+
    0
    1. Super c'est précisément ce que je voulais. Un tout grand merci.
      Quelle formule ou fonction faut-il utiliser ? DECALER ?
      0
    2. @HugoCALJ'ai utilisé l'évènement Worksheet.Change qui permet d'exécuter une procédure lorsque la cellule A2 est modifiée.
      Tu peux voir le code dans le module de la feuille Feuil2.

      Pour la liste en A2, j'ai utilisé une liste de validation ayant pour source =Nom.
      Nom est une plage nommée qui fait référence à
      =DECALER(Feuil1!$B$5;;;NBVAL(Feuil1!$A:$A)).
      Cette formule permet de définir la plage des noms dynamiquement (si tu ajoutes un nom, la plage est adaptée automatiquement).

      A+
      0
    3. Merci pour ces précisions...
      Belle fin de journée et encore merci.
      0