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) :
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
J'ai essayer de synthétiser mon problème alors je ne sais pas si j'ai été très clair
Merci d'avance pour votre aide!!