Bonjour à tous
J'ai une question un poil délicate à expliquer ...
J'ai un premier onglet "Opérations" qui liste des opérations qui ont été réalisées pour un "Titre" à un date "DateOpé". Chaque ligne est unique si on considère le couple "Titre" et "DateOpé" de cette ligne.
Via VBA, dans un second onglet "Variables", en fonction de la ligne de la cellule sélectionnée dans "Opérations", je rempli des cellules qui servent de paramètres pour une formule du genre
CHOISIRCOLS(TRIER(FILTRE(TbOpérations;(TbOpérations[DateOpé]<=Variables!I4)*(TbOpérations[Titre]=Variables!E4) ...
J'extrais ainsi un tableau de cellule sur lequel je boucle pour remplir un ListView1. Ce ListView a des cases à cocher dans la première colonne.
Chaque ListSubItems de mon ListView contient les données issues du tableau extrait qui lui même correspond à des lignes de Opérations suivant le filtre, ok.
Lorsque je coche une case de mon ListView, je voudrais écrire "quelque chose" dans la colonne "Notes" du tableau "Opérations" de la ligne dont la case vient d'être cochée ... comment faire ?
Mon idée était dans le code du ListView de chercher avec equiv() ou xlookup() dans le tableau "Opérations" avec le couple "Titre" et "DateOpé" en paramètre mais je n'y arrive pas :-(
Notons que dans TbOpérations[DateOpé], la date est parfois suivie d'une heure, il semble que ça n'aide pas (voir Cisco ligne 696).
Une petite image pour montrer tout ça. Dans ce cas, je sélectionne D697 puis clique le petit éclair bleu en haut et mon ListView apparait avec les lignes attendues (les lignes de Type opération, avec une date inférieure ou égale à la DateOpé de la ligne courante pour le Titre de la ligne courante).
Si je coche la seconde case du ListView, je souhaite écrire "quelque chose" dans la cellule E215, c'est la cellule "Notes" de la ligne "Rithm Capital" le 20/12/2021 du tableau Opérations.
J'ai essayé sans succès equiv() et autres avec DateOpé ou DateNum, je n'y arrive pas surtout quand il y a une heure spécifiée ... peut être faudrait il que toute mes DateOpé aient une heure (voir D696). J'ai aussi essayé de renvoyer le numéro de la ligne référente dans le .key mais sans plus de succès :-(
Ci joint le fichier de test en question.
Je vous remercie pour votre aide.
@+Laurent
J'ai une question un poil délicate à expliquer ...
J'ai un premier onglet "Opérations" qui liste des opérations qui ont été réalisées pour un "Titre" à un date "DateOpé". Chaque ligne est unique si on considère le couple "Titre" et "DateOpé" de cette ligne.
Via VBA, dans un second onglet "Variables", en fonction de la ligne de la cellule sélectionnée dans "Opérations", je rempli des cellules qui servent de paramètres pour une formule du genre
CHOISIRCOLS(TRIER(FILTRE(TbOpérations;(TbOpérations[DateOpé]<=Variables!I4)*(TbOpérations[Titre]=Variables!E4) ...
J'extrais ainsi un tableau de cellule sur lequel je boucle pour remplir un ListView1. Ce ListView a des cases à cocher dans la première colonne.
Chaque ListSubItems de mon ListView contient les données issues du tableau extrait qui lui même correspond à des lignes de Opérations suivant le filtre, ok.
Lorsque je coche une case de mon ListView, je voudrais écrire "quelque chose" dans la colonne "Notes" du tableau "Opérations" de la ligne dont la case vient d'être cochée ... comment faire ?
Mon idée était dans le code du ListView de chercher avec equiv() ou xlookup() dans le tableau "Opérations" avec le couple "Titre" et "DateOpé" en paramètre mais je n'y arrive pas :-(
Notons que dans TbOpérations[DateOpé], la date est parfois suivie d'une heure, il semble que ça n'aide pas (voir Cisco ligne 696).
Une petite image pour montrer tout ça. Dans ce cas, je sélectionne D697 puis clique le petit éclair bleu en haut et mon ListView apparait avec les lignes attendues (les lignes de Type opération, avec une date inférieure ou égale à la DateOpé de la ligne courante pour le Titre de la ligne courante).
Si je coche la seconde case du ListView, je souhaite écrire "quelque chose" dans la cellule E215, c'est la cellule "Notes" de la ligne "Rithm Capital" le 20/12/2021 du tableau Opérations.
J'ai essayé sans succès equiv() et autres avec DateOpé ou DateNum, je n'y arrive pas surtout quand il y a une heure spécifiée ... peut être faudrait il que toute mes DateOpé aient une heure (voir D696). J'ai aussi essayé de renvoyer le numéro de la ligne référente dans le .key mais sans plus de succès :-(
Ci joint le fichier de test en question.
Je vous remercie pour votre aide.
@+Laurent
Pièces jointes
Dernière édition: