RechercheV
laerous Messages postés 53 Date d'inscription Statut Membre Dernière intervention -
bonjour à toutes et tous,
Avant tout je tiens à préciser que j'ai bien tenté de le faire moi même, mais j'ai encore beaucoup de lacunes...
Je dois travailler sur un tableau excel d'évènements. J'ai une liste d’événements sur plusieurs jours que j'ai renseigné en feuille 2 et j'aimerais, grâce à la RechercheV, que d’après une date choisie en A1 sur la feuille 1 tous les évènements liés à cette date se reportent automatiquement. De plus une fois que ces lignes seront renseignées, j'aimerais qu'une formule ou mis en forme conditionnelle surbrillance une plage horaire correspondante. Ma base de tableau est dans le lien cjoint:
https://www.cjoint.com/c/NCbldqObiJK
cependant sur certaines dates il y aura plusieurs événements à reporter
dans mon document j'ai mis des commentaires pour expliquer mes souhaits.
merci par avance pour votre aide.
3 réponses
Bonsoir,
C'est le côté "1 date => plusieurs évènements" qui me semble ennuyeux.
En effet, j'ai bien peur que RechercheV ne donne qu'un seul résultat pour une recherche , quitte à donner le premier de la liste.
Donc une date = un évènement (sauf erreur de ma part).
Il y a peut-être moyen de contourner le problème ?
Bonjour,
Avec Excel 2020 et versions postérieures :
https://www.cjoint.com/c/NCfiQ1bwaiT
Si tu as une version antérieure, dis-le.
Daniel
merci daniel c'est parfait j'ai complété. pouvez vous me dire ce que veut dire exactement la formule que vous avez mise. que je puisse comprendre et changer si besoin, comme le choix de la date dans la liste déroulante, j'aimerais la changer d'emplacement, j'aimerai donc comprendre ce que je peux modifier pour le faire.
La fonction AGREGAT sert pour trouver les numéros de ligne de Feuil2 pour lesquelles la date correspond à A1. Pour comprendre les formules, on peut surligner une partie dans la barre de formule et appuyer sur la touche F9 pour remplacer la partie surlignée par sa valeur. Je surligne
En appuyant sur F9, j'obtiens :
{FAUX;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI}
c'est une matrice qui renvoie VRAI pour les lignes pour lesquelles la date est égale à A1. En informatique VRAI a une valeur de 1 et FAUX a une valeur de 0.
Si je divise les numéros de ligne de la plage B3:B12 par cette matrice, les lignes recherchées seront divisées par 1 et les autres seront divisées par 0, ce qui provoquera une erreur :
{#DIV/0!;4;5;6;7;8;9;10;11;12}
En effet, seule la première ligne n'a pas la date du 27/07/2024. La fonction AGREGAT avec le paramère 15 est l'équivalent de la fonction PETITE.VALEUR. De plus, le deuxième paramètre, 6 indique que les erreurs seront ignorées. Le dernier paramètre est LIGNE(A1) qui renvoie 1. Ainsi, AGREGAT de la ligne 8 renverra la plus petite ligne de la matrice, soit "4". A la ligne suivante, LIGNE(A1) devient LIGNE(A2) et AGREGAT renverra le deuxième petite valeur, soit "5" et ainsi de suite pour les lignes suivantes.
Ayant obtenu les numéros des lignes, la fonction INDEX renvoie les valeurs de la colonne A. Arrivé en C17, il n'y a plus de ligne correspondante à A1 et AGREGAT RENVOIE #NOMBRE! La fonction SIERREUR gère l'erreur et met une chaîne vide "" à la place.
Ouf ! C'est compliqué à comprendre. Si tu as des questions, n'hésite pas.
Daniel