Macro de recherche

Résolu
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -
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

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
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
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
Non, je souhaite obtenir toutes les dates et heures correspondant à la date en fonction de la personne choisie en une seule fois.
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

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

A+
0
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
Super c'est précisément ce que je voulais. Un tout grand merci.
Quelle formule ou fonction faut-il utiliser ? DECALER ?
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
J'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
HugoCAL Messages postés 54 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ces précisions...
Belle fin de journée et encore merci.
0