Excel - Manipulations de tables en cascade

Résolu
Signaler
Messages postés
2
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
28 août 2006
-
Messages postés
2
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
28 août 2006
-
Bonjour,

Je dois faire un truc "très simple"... : Je dois générer une liste à partir d'un fichier principal et de deux feuilles de "paramétres" (EXCEL)

J'ai 3 feuilles (donc deux tableaux)
- 1ère : tableau à 2 colonnes (dont "Nom adhérent" et "Date de naissance") et x lignes
- 2ème : tableau à 5 colonnes  (dont "Nom adhérent", "2006"; "2005" ; "2004"; "2003")
- 3ème : tableau à 2 colonnes  (dont "Année d'adhésion", "Montant quotisation")
- 4ème fichier d'exportation des données consolidées ("Nom adhérent" et "Date de naissance" "Année d'adhésion"; "Cotisation versée") l'idée est donc de générer autant de lignes contenant le nom de chaque adhérent par année de quotisation en important les sommes versées.

Exemple :
Fichier 1 :  Nom     Date de naissance (fichier d'entré)
                TOTO      12/04/1956
                TITI        25/06/1972

Fichier 2 :   Nom     Année 1    Année 2      Année 3      Année 4 (fichier source 1)
                TOTO    2003          2004          2005          2006
                TITI     2004           2005         

Fichier 3 :   Année     Montant cotisation (fichier source 2)
                2001       12?
                2002       14?
                2003       15?
                2004       16?
                2005       16?
                2006       19?

Fichier 4 :  Nom     Année   Cotisation versée (fichier destination)
                TOTO    2003   15?
                TOTO    2004   16?
                TOTO    2005   16?
                TOTO    2006   19?
                TITI      2004   16?
                TITI      2004   16?

Je sais faire celà avec un algo basique qui
- Feuille 1 : pointe sur la première ligne "Nom" (ici TOTO) (boucle A)
- Feuille 2 : va chercher la valeur "Nom" (ici TOTO)
- Feuille 2 : lit la valeur de la "1ère année de cootisation" attachée au nom en question (ici 2003) (Boucle B)
- Feuille 3 : va chercher la valeur "1ère année de cootisation" (ici 2003)
- Feuille 3 : lit la valeur du montant de la cotisation correspondante (ici 15?)
- Feuille 4 exporte toutes les données sur une ligne

>Fini la boucle B
>Fini la boucle A

Bref... basique mais efficace...
Existe-t-il une manière plus sioux de faire ça ?
Merci d'avance pour vos lumières !!!

;)

2 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,


Déja ce que tu peux faire c'est avec une boucle (faite avant tout le traitement), Remplir un objet de Type collection Ce qui te permettra d'indexer le montant des cotisations en fonction de l'année (ObjCol.Add(Montant, "Année"))

De cette facon plus besoin d'aller une seul fois chercher les montant de coteisation sur la feuille 3 puis que tu les auras directement avec Montant = ObjCol.Item("2003") par exemple.

Voila
@+, Julien
Messages postés
2
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
28 août 2006

Bonjour !



Merci pour cette réponse.



Effectivement c'est une bonne idée, je vais regarder cela de plus près !



Sinon, après discussion avec un pro en bdd, ce que je veux faire s'appel une "jointure".



Il semblerait que celà ne soit pas possible avec Excel mais super simple avec Access...



Je vais aussi explorer cette piste.



A bientôt,



;)