Mise à jour de prix selon les indices de l'INSEE

Résolu/Fermé
Piti-Nam Messages postés 5 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 15 avril 2014 - Modifié par Piti-Nam le 14/04/2014 à 16:28
Piti-Nam Messages postés 5 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 15 avril 2014 - 15 avril 2014 à 16:18
Bonjour,

d'avance, merci pour les personnes qui me donneront un coup de pouce sur mon "problème". Et j'espère que ça pourrait aider d'autres personnes dans mon cas.

J'explique mon problème :
j'ai une liste de client sur excel. chaque client à une date d'anniversaire.
ils ont souscrit un contrat dont le prix est revu chaque année selon les indices de l'INSEE et selon la formule suivante :
P=P0 x (0.5 x ICHTrev-TS / ICHTrev-TS0 + 0.5 x FMABE / FMABE0)
ces indices sont mis à jour chaque mois.

Donc, sur mon fichier, je créé 2 classeurs. Un pour les prix initiaux et mis à jour, l'autre qui servira de base de donnée avec les indices.
Mes questions :
- est-il possible de passer par une formule excel pour lancer ces calculs automatiquement ? Je cherchais une condition "si mois = mai et année = 2010, alors prendre la valeur à mai 2010"

- si ce n'est pas possible, comment dois-je structurer ma maccro pour lancer ce calcul ? je suis complètement novice en maccro/programmation même si j'essaye d'apprendre la méthode petit à petit. J'ai beau chercher sur divers forum, je n'arrive pas à trouver une structure adéquate.

la méthode manuelle fonctionne bien sûr mais j'aimerai pouvoir l'automatiser.

Merci d'avance pour votre aide, je plante sur le sujet depuis pas mal de temps :S

A voir également:

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
14 avril 2014 à 16:28
Bonjour
je n'ai pas tout compris mais un peu au hasard
en A la liste des dates au premier de chaque mois
en B la valeur des indices correspondants
pour trouver la valeur de B pour une date placée en C:

=SI(C1="";"";INDEX(B:B;EQUIV(ANNEE(C1)&MOIS(C1);ANNEE(A:A)$MOIS(A:A);0)))

formule matricielle à entrer avec la touche Enter en maintenant shift et ctrl enfoncées

sinon peut être plus simplement pour un champ de référence de A1 à B100 (N° de lignes obligatoires avec cette formule):
=SOMMEPROD((ANNEE($A$1:$A$100)=ANNEE(C1))*(MOIS($A$1:$A$100)=MOIS(C1))*($B$1:$B$100))

a entrer normalement

crdlmnt

1
Piti-Nam Messages postés 5 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 15 avril 2014
14 avril 2014 à 17:05
Bonjour Vaucluse,

merci pour votre/ta réponse rapide.
ci-dessous, un lien vers le fichier d'exemple :
http://cjoint.com/14av/DDordisVYnG.htm

j'essaye avec les solutions que vous m'avez proposé et je vous tiens au courant

Merci encore !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 14/04/2014 à 17:22
Les formules proposées à tout hasard ne vous serviront à rien compte tenu de la configuration de vos tableaux.
mais vos explications sont à priori insuffisantes:
vous donnez un exemple de formule en F3 qui fait référence à F13 de la même feuille,cellule hors tableau, et surtout vous ne dites pas la correspondance entre le client ce F13 perdu, un C13 vide et un F27 d'un des tableaux de la feuille Indices INSEE??
et dites nous aussi pourquoi aller chercher dans un des tableaux plutôt que l'autre?
a vous ire pour complément d'info.
0
Piti-Nam Messages postés 5 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 15 avril 2014
14 avril 2014 à 17:29
Milles excuses, la formule présentée dans mon exemple ne colle pas du tout avec la réalité. Je pensais l'avoir enlevé mais ce n'est pas le cas apparemment. D'après vos explications, nous sommes bien d'accords, la configuration du tableau de la feuille 2 ne colle pas du tout avec les formules proposées. Du coup, je suis reparti sur le modèle proposé par l'INSEE, c'est à dire, des indices correspondant à une date, et là, ça fonctionne.

Donc, il ne faut pas prendre en compte les cellules appelées dans mon exemple, car il s'agît d'une erreur.

Si je veux chercher des valeurs dans un autre tableau, c'est parce que le premier classeur est très chargé en information, c'est pourquoi je souhaite différencier la base de données des résultats.

J'espère que mes explications vous permettront de mieux comprendre le besoin.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
14 avril 2014 à 17:34
... en attendant mieux si ça peut vous servir, la formule pour trouver l'indice du 1° tableau qui correspond au mois et à l'année de B2 de la feuille Liste client: (soit la valeur de F13 de Indice...)

=INDEX('Indices INSEE'!A2:G13;MOIS(B2);EQUIV(ANNEE(B2);'Indices INSEE'!A1:G1;0))

même raisonnement pour trouver les autres coef, sauf que pour trouver C13 de Indice avec B2 de Liste, ,li faut appliquer
=INDEX('Indices INSEE'!A2:G13;MOIS(B2);EQUIV(ANNEE(B2);'Indices INSEE'!A1:G1;0)-3)
mais là l'arguemnt de ce calcul m'échappe, c'est trois ans avant?


crdlmnt
0
Piti-Nam Messages postés 5 Date d'inscription lundi 14 avril 2014 Statut Membre Dernière intervention 15 avril 2014
14 avril 2014 à 17:55
j'ai modifié le fichier excel pour que ce soit plus lisible.
http://cjoint.com/14av/DDorZErwzhh.htm
du coup, j'ai :
- modifié la liste des indices pour qu'elle soit exploitable
- travaillé avec vos formules

deux solutions :
- soit, j'appelle mes valeurs dans un tableau, sur la même feuille de calcul, et je réalise une opération simple (cf fichier en lien),
- soit, j'appelle directement les valeurs, sans passer par un mini tableau. dans ce cas, ça fonctionne bien, mais le pc mouline beaucoup plus longtemps. je suppose que c'est normal.

Pour répondre à votre question, les indices 2013 ou 2014, et les indices de l'anniversaire.

Je vais voir s'il y a un moyen de simplifier tout cela pour que cela n'utilise pas trop de ressource mais ça tient la route. qu'en pensez-vous ?
0