TCD afficher le nombre de valeurs uniques pour chaque étiquette
#1
Débutant XLPages

Inscription: 19/10/2015
De Orsay

Messages: 10

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 27-10-2015 14h45

Bonjour, encore moi ! 

Pour commencer, sachez que je suis allé voir les tuto de Mth avant histoire d'être sûr que le cas n'était pas expliqué.

Mon souci est le suivant:

J'ai un tableau avec deux colonnes, le premier représentant disons des noms de clients, le second présente le nom des produits qu'ils commandent chez nous. les autres colonnes sont relatives à différents elements.

On obtient un truc de ce style :

http://www.hostingpics.net/viewer.php?id=750879exemple.png

 

J'aimerais lorsque je créer mon tableau dynamique, qu'il m'affiche pour chaque client (A  C D) le "nombre" de produits différents que chacun commande.

Ainsi dans mon exemple, le client A commande 1 produit, le client C commande 2 produits, le client D commande 1 produit. 

Je pense que ce n'est pas possible avec un TCD qui traite des valeurs numériques, alors si quelqu'un à une fonction calcul capable de réaliser cela sur un grand nombre de cellules, ce serait idéal.

 

Merci laugh

Hors Ligne
Rapport   Haut 

Re: TCD afficher le nombre de valeurs uniques pour chaque étiquette
#2
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 01-11-2015 22h01

Bonjour AbCuser, bonjour à tous,

 

Comme tu indiques avoir un grand nombre de cellules, on va éviter les formules, une piste parmi d'autres dans le fichier ci-joint:

- Je copie les colonnes qui m'intéressent dans un onglet de travail

- J'élimine les doublons

- Je mets à jour le TCD

 

J'ai utilisé ce code (sommaire) , à adapter à tes besoins:

Sub Macro1()
'
' Macro1 Macro
'

'efface les données onglets tmp
Sheets("tmp").Cells.ClearContents

'Copie la base dans l'onglet tmp
With Sheets("Base")
    .Range("A1").CurrentRegion.Copy Sheets("tmp").Range("A1")
End With

'retire les doublons
With Sheets("tmp")
    .Range("$A$1").CurrentRegion.RemoveDuplicates Columns:=Array(1, 2), Header _
        :=xlYes
End With

'actualise le TCD
'la source de données du TCD est nommée ZoneTCD dans le fichier
With Sheets("Recap")
    .PivotTables("TCD1").PivotCache.Refresh
End With

End Sub

En espérant que cette piste pourra t'aider,

 

Bien à toi,

 

mth

Pièce jointe:
xlsm AbCuser.xlsm   [ Taille: 20.43 Ko - Téléchargements: 465 ]
Hors Ligne
Rapport   Haut 

Re: TCD afficher le nombre de valeurs uniques pour chaque étiquette
#3
Débutant XLPages

Inscription: 19/10/2015
De Orsay

Messages: 10

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 02-11-2015 15h43

Merci Mth pour ton aide ! 

Alors j'avoue être un néophyte en macro. Bien que je sache comment les utiliser, je ne sais pas comment les modifier pour les adapter à ma situation.

J'ai un tableau avec 15 colonnes et 300 lignes, est ce trop pour une formule?

Si j'utilise cette macro sur mon tableau, puis je ne selectionner que les colonnes d'interêt?

cdlt

Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes