Bonjour à tous les abonnées des Forums Developpez.com,
J'ai préparer une procédure qui me génère un tableau à partir d'une feuille de calcul feuille x
les intitulés des lignes c'est des "Cost Code" et ceux des colonnes c'est les 12 prochains mois à venir (période sous le format mm/aaaa)

à l'intérieure du tableau je veut remplir les cellules avec la somme des montants des commandes qui possèdent le même cost code de la ligne et durant le mois de la colonne

le montant des commandes ce trouve dans la feuille x

exemple de cost Code 15xxx: >=15000 et <16000
1105x: >=11050 et <11060
la formule sous excel est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SOMMEPROD((feuillex!$Y$2:$Y$2197=B$4)*(feuillex!$J$2:$J$2197>=11100)*(feuillex!$J$2:$J$2197<11120)*(feuillex!$X$2:$X$2197))
La colonne X:X c'est les montant des commandes
La colonne j:j c'est les Cost Code
La colonne Y:Y c'est les période (exemple: 11/2008)

la ligne 2197 doit être dynamique c-à-d la dernière ligne de la colonne

il vaut mieux utiliser la formule à l'intérieure de la boucle existante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub prévision()
    ActiveWorkbook.Worksheets.Add.Name = "Stock_Target_12_months"
    Worksheets("Stock_Target_12_months").Select
 
    Range("A3").Value = "Période"
    Range("A4").Value = "Cost Code"
    Range("A5").Value = "111xx"
    Range("A6").Value = "112xx"
    Range("A7").Value = "114xx"
    Range("A8").Value = "1151x"
    Range("A9").Value = "1152x"
    Range("A10").Value = "131xx"
    Range("A11").Value = "132xx"
    Range("A12").Value = "16xxx"
    Range("A13").Value = "105xx"
    Range("A14").Value = "134xx"
    Range("A15").Value = "133xx"
    Range("A16").Value = "1150x"
    Range("A17").Value = "12xxx"
    Range("A18").Value = "14xxx"
    Range("A19").Value = "15xxx"
    Range("A20").Value = "8xxxx"
 
    Range("A31").Value = "Total"
    Dim i As Integer
    For i = 0 To 12
    ActiveSheet.Cells(2, i + 2).FormulaLocal = "=TEXTE(DATE(ANNEE(AUJOURDHUI()); MOIS(AUJOURDHUI())+" & i & "; 1);" & """mmm - aaaa""" & ")"
    ActiveSheet.Cells(3, i + 2).FormulaLocal = "=TEXTE(DATE(ANNEE(AUJOURDHUI()); MOIS(AUJOURDHUI())+" & i & "; 1);" & """mm/aa""" & ")"
        Next i
End Sub
merci à tous ce qui prennent la peine de lire ce message

Mouna