Bonjour tt le mode ,

Je viens de ma lancer avec VBA excel pour mon stage et j'ai un problème avec la fonction AVERAGE if .
PS: tous les données sont dans AVR_DATA , j'ai trier et enlever les doublons et donc récupere les pays dans Best_seller et le résultat finale c dans base zone ki contien déja les pays sur une colomne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
For h = 3 To p + 1 : (car c pour chaque pays (p c le nombre de pays)
 
 
Sheets("Base_Zone").Cells(h, 2).Value = Int((WorksheetFunction.AverageIf(Range("'AVR_DATA'!L2:L" & Range("A65536").End(xlDown).Row), "Best Seller@" & Range("A" & h) & "@201320", Range("'AVR_DATA'!F2:F" & Range("A65536").End(xlDown).Row))) * 100) + 1
 
Sheets("Base_Zone").Cells(h, 3).Value = Int((WorksheetFunction.AverageIf(Range("'AVR_DATA'!L2:L" & Range("A65536").End(xlDown).Row), "Medium Seller@" & Range("A" & h) & "@201320", Range("'AVR_DATA'!F2:F" & Range("A65536").End(xlDown).Row))) * 100) + 1
 
Sheets("Base_Zone").Cells(h, 4).Value = Int((WorksheetFunction.AverageIf(Range("'AVR_DATA'!L2:L" & Range("A65536").End(xlDown).Row), "Slow Seller@" & Range("A" & h) & "@201320", Range("'AVR_DATA'!F2:F" & Range("A65536").End(xlDown).Row))) * 100) + 1
 
 
juskà ici ça marche et kan je rajoute ça ça marche plus (ya plus rien)
 
 
Sheets("Base_Zone").Cells(h, 7).Value = Int((WorksheetFunction.AverageIf(Range("'AVR_DATA'!L2:L" & Range("A65536").End(xlDown).Row), "NP launched < 3m@" & Range("A" & h) & "@201312", Range("'AVR_DATA'!F2:F" & Range("A65536").End(xlDown).Row))) * 100) + 1
pour best seller , med ,... il y a toujours au moins une valeur dans le tableau de data mais pour NP launched il se peu qu'il yen a pas du tout. En gros le but c de faire un tableau dynamique avec toutes le moyennes selon les pays et la catégorie du produit et c trés compliqué parce que toutes mes données changent chaque semaine et il faut que j'en prend compte ... j'éspere que vous pouvez m'aider et que c'est assez clair


D'avance merci ...