Insérer une valeur proche comme critère de somme index

Bonjour,

je souhaite automatiser un calcul de taux de construction de logements / habitant / an avec la fonction somme index. J'ai un premier tableau dans lequel est saisi pour une liste de territoires et des années données le nombre de logements construits, et un second tableau dans lequel est saisi pour les mêmes territoires la population légale. La difficulté est que les années de recensement de la population diffèrent de celles de décompte des logements construits.

Je veux en effet que la machine me renvoie dans une cellule, pour un territoire et une année de décompte des logements donnée (par exemple 2010), la population légale du recensement le plus récent par rapport à mon année logement (par exemple population du recensement de 2008 qui est le recensement le plus proche de 2010).

J'essaie d'imbriquer des formules somme index et equiv mais n'arrive à rien. L'aide d'une personne éclairée me sortirait-il de ce mauvais pas

? Ci joint le classeur où figurent mes tableaux. Merci d'avance.

Bonsoir,

J'aurai fait comme çà

voir feuille "raw_data (INSEE)"

Amicalement

Claude

Merci pour cette première proposition, cependant mon problème est encore un peu plus compliqué :

En effet, il y aura dans ma base plusieurs années de construction de logement se rapportant à une année de recensement. Jusqu'à la publication du nouveau recensement, la population de 2008 me servira à calculer le taux de construction de 2008, 2009, 2010 ... Mais dès la publication des données du recensement de 2009, tous mes taux de construction postérieurs devront être recalculés sur cette nouvelle base (2009). Et je ferais à nouveau glisser tous les calculs quand le recensement 2010 sortira.

Par conséquent, ce que je veux, c'est que lorsque je mettrais à jour ma base recensement avec des données plus récentes (par exemple, lorsque le recensement 2010 sera publié), la machine recalcule automatiquement le ratio avec la donnée la plus récente (sans que j'aie à re-manipuler mes tableaux pour faire correspondre "à la main" les années). Sans cela, je serais obligé de reprendre à chaque fois toute ma base à la publication d'une nouvelle donnée.

En fait, j'ai trouvé une première solution avec recherchev, mais elle nécessite l'ajout d'une colonne (voir pièce jointe, onglet fc) et pose des problèmes de fiabilité. Il me semble que l'utilisation de la fonction somme index pourrait permettre d'économiser cette étape et fiabiliser la méthode, mais à condition de pouvoir intégrer ce fameux critère flottant (l'année de recensement la plus proche de l'année de construction).

Bonsoir,

Pour moi, c'est + facile par macro

résultats sur la 1ère feuille

Sub Calcule()
Dim x%, Lg%, i%, f As Worksheet
    Application.ScreenUpdating = False
    Set f = Sheets("raw_data (INSEE)")

    '--- x = la 1ère ligne de l'année maxi feuille "raw_data (INSEE)" ---

    x = Application.Match(Application.Max(f.Range("b:b")), f.Range("b:b"), 0)

    Lg = 3
    For i = x To x + 24
        Cells(Lg, "e") = f.Cells(i, "d")
        Lg = Lg + 1
    Next i
    With Range("f3:f26")
        .Formula = "=(d3*1000/e3)%"
        .NumberFormat = "0.00%"
    End With
    Cells(1, "f") = "Année référence " & f.Cells(x, "b")
End Sub

Claude

Bonjour,

Pas de suite ?

Claude

Bonjour,

Désolé d'avoir tardé à vous répondre.

Je n'ai pas eu le temps de me replonger dans ce problème et je ne suis par surcroît pas un habitué des macros.

Votre proposition va donc nécessiter un petit temps d'apprentissage pour moi.

Rechercher des sujets similaires à "inserer valeur proche comme critere somme index"