Bonjour,
J'ai un fichier avec plusieurs onglets :
- 1 onglet où l'on a la liste des produits (sous plusieurs catégories)
- 1 onglet qui sert à afficher le nombre d'individu qui possède les produits
(comme un tablau croisé dynamique avec en ligne les produits et en colonne le nb d'individu le possédant).
J'aimerai rajouter un produit dans une catégorie.
Dans l'onglet où l'on a la liste des produits, je rajoute mon produit en insérant une ligne et je rajoute en colonnes le numéro et libellé de la catégorie, le nom de la variable du nouveau produit et l'emplacement de ce produit.
par exemple, j'ai :
Ananas
Pomme
Orange
Total Fruit
et je veux rajouter Raisin dans la catégorie 'Fruit' c'est à dire :
Ananas
Pomme
Orange
Raisin
Total Fruit
L'emplacement de 'raisin' sera donc 4 et celui du 'Total Fruit' sera maintenant 5.
J'exécute le programme mais, il y a une erreur (le nombre de clients par produits s'affiche pour les produits du début mais s'arrête un peu avant le nouveau produit) :
J'ai essayer de synthétiser mon problème alors je ne sais pas si j'ai été très clair
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 ' Ajout d'un champs dans un tableau croisé dynamique Sub SetPivotField(namefield As String, xlOrientation As XlPivotFieldOrientation) Dim flag As Boolean Dim pvtField As PivotField flag = False For Each pvtField In ActiveSheet.PivotTables(1).DataFields If pvtField.SourceName = namefield Then flag = True ' le champ existe End If Next pvtField If flag = False Then With ActiveSheet.PivotTables(1).PivotFields(namefield) .Orientation = xlOrientation End With End If End Sub
Merci d'avance pour votre aide!!
Partager