XL pour MAC Ventilation de données d'un onglet à un autre avec tableaux et conditions

pilou010

XLDnaute Occasionnel
Bonjour à tous,
Je me lance dans un fichier Excel pour faire mes comptes bancaires.
J'ai un onglet CC pour le compte courant ou je renseigne chronologiquement mes opérations.
Tous les mois je verse de l'argent sur un livret A et un livret B (PEL) mais il m'arrive d'en reprendre pour financer des achats.
Je joins un fichier pour + de compréhension mais j’aimerai automatiser ce type d'opérations.
Je sais ce que j'aimerai faire mais je n'ai pas la moindre idée de la formule pour y arriver.
Si c'est possible alors cela me permettrai d'avoir le solde de mes livrets toujours à jours sans y toucher.
J'ai fais des bidouilles avec des formules trouvées ici ou là avec SI, RECHERCHEV, EQUIV, INDEX mais comme je connais pas assez cela ne donne vraiment rien de rien....
Je m'en remet à vous ici si quelq'un sait commet procéder ou un début de piste.
Merci
Pilou
 

Pièces jointes

  • compta.xlsm
    23.7 KB · Affichages: 14

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un début de piste par formules matricielles.
VB:
=SIERREUR(INDEX(Tableau1[Date];PETITE.VALEUR(SI(ESTNUM(CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]));LIGNE(Tableau1[Date])-1);LIGNE(1:1)));"")

JHA
 

Pièces jointes

  • compta.xlsm
    25.8 KB · Affichages: 14

pilou010

XLDnaute Occasionnel
Bonjour et bon dimanche à tous !
Merci JHA c'est plus qu'un début de piste c'est nickel et cela fonctionne très bien. Par contre dans la colonne solde, le calcul ne se fait plus et je suppose que c'est du au fait que les colonnes débit et crédit ne contiennent pas de valeurs mais une formule ? C'est OK en mettant toutes les cellules au format monétaire.
Job75 peux-tu m'en dire plus sur la création d'une BD et des analyses et extractions possibles ? Cela pourrait, en fait, me servir pour tous les libellés ?
Merci à tous
Pilou
 
Dernière édition:

pilou010

XLDnaute Occasionnel
Bonjour à tous,
J’essaie de comprendre comment fonctionne la formule matricielle proposée par JHA.

{=SIERREUR(INDEX(Tableau1[Date];PETITE.VALEUR(SI(ESTNUM(CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]));LIGNE(Tableau1[Date])-1);LIGNE(1:1)));"")}

Pas facile pour le novice que je suis mais important pour progresser. Quelqu'un pourrait-il décomposer les différentes étapes que réalise cette formule matricielle ? Je n'arrive pas à comprendre comment les libellés sont recherchés... J'ai changer les noms pour comprendre mais ne trouve pas la logique de la formule.

Je remercie si il y a une bonne âme ici pour m'éclairer 🌘

Bonne soirée



 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Cette formule recherche si il y a un libellé ayant à la fin "Livret A".
la fonction INDEX(Tableau1[Date];Numero de ligne) renvoie la date qui sera sur la ligne recherchée.
Pour rechercher le numéro de ligne, on utilise petite.valeur(plage;rang)
PETITE.VALEUR(SI(ESTNUM(CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]));LIGNE(Tableau1[Date])-1);LIGNE(1:1))
On cherche dans le tableau 1 champ libellé comprenant des "Livret A", pour cela on met un "*" devant.
CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]), cela renvoie
{#VALEUR!;1;1;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!}
Pour excel il ne faut pas avoir des "#VALEUR!" donc on utilise la fonction estnum(plage), cela renvoie
{FAUX;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX}
donc si il y a vrai on retourne le numéro de ligne
LIGNE(Tableau1[Date]), cela renvoie
{2;3;4;5;6;7;8;9;10;11;12;13;14;15}
comme la plage Tableau1[Date] débute en ligne 2, on enlève 1
LIGNE(Tableau1[Date])-1, cela renvoie
{1;2;3;4;5;6;7;8;9;10;11;12;13;14}

pour le rang, on utilise la fonction LIGNE(1:1) soit 1, cela permet lors de la recopie vers le bas d'incrémenter le rang automatiquement, LIGNE(2:2) donnera 2, etc..

J'espère t'avoir éclairé sur cette formule qui n'est pas facile.

JHA
 

pilou010

XLDnaute Occasionnel
Bonsoir/Bonjour,
JHA, je te remercie vraiment d'avoir proposer une solution et surtout d'avoir pris du temps pour expliquer la formule. Cela m'a permis de reproduire la formule dans mon fichier source en comprenant ce que fait cette dernière. Cela fonctionne correctement.
Ce forum est Génial, MERCI👏👏👏
Pilou
 

Discussions similaires

Statistiques des forums

Discussions
312 112
Messages
2 085 411
Membres
102 885
dernier inscrit
AISSOU