Salut Stéphane,
...tentons...
Si j'entrave correct, "Général" reçoit des données et tu veux les redistribuer vers 1>N "Portefeuilles".
Je peux même imaginer que la composition des "Portefeuilles" est volatile,
telle valeur du critère passant de l'un à l'autre selon
ton bon vouloir -ou celui d'un décideur lambda qui te le fait savoir.
Si l'existence des "Portefeuilles" est durable ou dépend de toi (ou d'une intervention manuelle), chacun contient probablement un critère commun avec "Général". Sauf un nombre faramineux de données, les fonctions de feuille de calcul devraient suffire à ton besoin.
Si l'existence des portefeuilles est conditionnée par "Général", il faut une macro.
Par critère, énoncé au singulier, il faut entendre tout assemblage d'indices qui forment mis ensemble un libellé unique propre à désigner sans ambiguité chaque valeur -monétaire?- de "Général".
par exemple :
HONGKONG-VELOS-04122003-DELMAS-LABELLEPOULE-ANTWERPEN
Concatène dans les "Portefeuille" tous les éléments du critère en un mot unique.
Concatène, par symétrie, pour chaque valeur de "Général" tous les éléménts du critère tel que les "Portefeuille" le contiennent.
Comme ça, ils peuvent se reconnaitre.
Tu peux céer un index complémentaire de "Général" lié à la date et à la demi-date pour fiabiliser la lecture des "Portefeuilles".
Je suppose aussi que "Général" contient plusieurs fois la même valeur du critère, sinon tu ne parlerais pas de solde. La recherche ferait selon moi appel à des formules matricielles ou des fonctions de base de données.
Sinon, si "Général" ne contient forcément qu'une fois la même valeur du critère, je pense que c'est plus simple.
Trie "Général" selon le critère, et utilise pour chaque critère dans chaque "Portefeuille" les fonctions recherche, rechercheh ou recherechev.
Je ne les aime beaucoup mais elles sont d'un usage simple.
agrémente-les éventuellement de
si(test;vrai;faux), pour affiner tes redistributions.
Cela signifie que chaque valeur du critère est également présente une unique fois dans le "Portefeuille"
ET OBLIGATOIREMENT que "Général" est tri_ dessus, sinon recherche foire.
Par mesure de prudence, tu peux ramener dans "Portefeuille" des éléments de "Général" accessoires à la valeur, le N°ligne ,
la date/demi-date.
Si la valeur du critère apparaît plusieurs fois dans Général",
tu as le chox entre les fonctions de base de donnée, que je trouve trop formalisées et peu souples
et les formules matricielles qui ont toute ma préférence.
Le principe de ces dernières est de repérer dans une plage de données,
toute les occurence de la valeur du critère ; à partir de quoi tu fais ce que tu veux (sauf les trier).
L'archétype est <=somme(si(test;valeurs;0))> pour faire des totaux
ou <+max(si(test;lignes/colonnes;0))> pour référencer
avec <décaler(origine;ligne;colonne)> ça marche du tonnerre.
Les formules de recherche comme les formules matricielles sont des formules de cellule, elles se recopient à l'infini en bas, à doite, etc...
Ta feuille récipiendaire peut varier en extension et en valeurs du critère, cela n'affecte pas la pertinence de la formule de chaque cellule.
Pour la rendre caduque et ne pas pouvoir la réadapter simplement,
il faudrait transformer lourdement l'expression du critère.
Bon courage et raconte-moi la suite si tu le veux.
JyM
PS je suis novice sur le forum mais je crois que tu as eu tort de remettre un message attché au premier, certains (dont moi) ciblent visiblement leur réponses sur les posts vierges. Sauf erreur de manip, je t'aurais loupé.
Plutôt réïtérer le post.