Remplacer un TCD par une formule

Bonjour, je souheterai remplacer dans un de mes fichier exel un tableau croisée dynamique soit par une formule ou une macro en derniers recours.

Je part d'une liste de données en colonne A où se retrouvent plusieurs fois la même valeur qui ensuite sont différente dans les collne B,C ou D.

Le TCD me permet de fitrer par la colonne A.

Je souheterai toujours un tri à partir de cette même colone pour afficher mes autres données.

Le but étant que dons mon tableau j'ai une case qui s'actualise en automatiqe et que de cette case actualisé, mon tablau sorte tout seul de ma liste de données.

Merci de votre aide

Bonsoir,

ben j'ai rien compris à ce que tu veux faire.

Seul truc que je vois c'est que ta ligne A devrait comporter des titres (A1,B1,C1...)

Sinon merci de réexpliquer ton souci

Amicalement

je n'ai pas tout compris, de plus ma version d'Excel ne me permet pas d'utiliser ton TCD

essaye les sous-totaux et un filtre auto (il faut d'abord mettre des en-têtes (titres) à tes colonnes)

edit : salut Dan

bgrvfe

Désolé il est vrai j'ai oublié de mettre des titres.

LE but est de remplacer le TCD par une fonction de recherche.

J'aimerai mettre un code article de la colonne A et retrouve une liste de toutes lignes concernant ce code article et cela sans passer par un TCD.

Suis je plus clair??

re,

Ben alors tu as plus simple. Une fois les titres mis en ligne 1, utilise l'option "Données" --> "filtre automatique"

Une fois fait il te suffit de faire un choix en cliquant sur les petites flèches qui seront disponibles.

Amicalement

Oui je connait le filtre mais j'aimerai que cela se fasse tout seul à partir d'une case issus d'une recherche valeur.

quand cette case change j'aimerai que mon s'actualise en fait.

J'ai essayer avec une macro, mais la valeur de ma case reste fixe malgrès tout.

bidibou1 a écrit :

Oui je connait le filtre mais j'aimerai que cela se fasse tout seul à partir d'une case issus d'une recherche valeur.

quand cette case change j'aimerai que mon s'actualise en fait.

J'ai essayer avec une macro, mais la valeur de ma case reste fixe malgrès tout.

Quelle cellule et dans quelle feuille ????

Essaie d'être un peu précis sans quoi c'est pas possible de te donner des infos là

Il faudrait que je remette en copie un fichier mais je n'est pas le temps avant la semaine prochaine mais je vais essayer d’être plus clair.

Concrètement au fichier actuel tu ouvre un deuxième onglet et on va dire que dans la cellule A1 tu à une formule ( rechercheV) qui te donne la référence 1111 du premier onglet.

Ce que je souhaite c'est sortir dans le deuxième onglets toutes les références correspondant à la valeur A1 et que cela s'actualise en fonction de A1.

A l'heure actuelle je passe par un TCD ou je change la valeur manuellement.

Merci

re

Dans l'attente de ton fichier (pour éviter de tout refaire... ), on peut utiliser le filtre automatique puis avec un bouton exporter les données filtrées vers un autre emplacement.

A te relire

Bon cela va tarder un peu car je me suis transmis un fichier et j'ai oublier de supprimé une partie des macro et donc il est trop volumineux pour que je le mette en pièce jointe

Bonjour voici le fichier avec des commentaires sur les case importantes.

Petit résumé, la pages 1 et les sources des données.

La page 2 sert à une saisie manuelle d'une référence.

La page 3 est le coeur du soucis, en case A1 j'ai une copie de la référence de la page 2.Cette référence me permet une récherche d'une valeur affiché en D1.

Et c'est cet valeur ( D1) que je met manuellement dans mon TCD afin d'obtenir un liste liste.

Le but est que lorsque D1 change mon TCD change de manière automatique sans intervention manuelle.

J'ai tenter une macro sans succès, et j'ai aussi tenter de remplacer le TCD par des ensemble de recherche valeur sans succès non plus.

Merci de votre aide

42classeur1.xlsx (19.47 Ko)

Bonjour,

je me permet de prendre le fil

il faut savoir que un TCD ne prend pas en compte les modification des données sauf si tu fait une actualisation de la page TCD, pour cela il te suffit de faire une macro pour que cela se face automatiquement

tu va sur l'onglet de ton TCD visualise le code

la tu choisis Worksheet et a coté tu choisis Activate

puis tu rentre le code

Private Sub Worksheet_Activate()

ActiveSheet.PivotTables("Tableau croisé dynamique1").Refresh

End Sub

j'espére que sait cela que tu recherche

marc

Re,

Et c'est cet valeur ( D1) que je met manuellement dans mon TCD afin d'obtenir un liste liste.

En D1 c'est une formule. Tu dis que tu mets manuellement cette valeur dans un TCD. Là c'est impossible de mettre une valeur dans un TCD

144 se trouve où dans la feuille 1 ?

avec 144, D1 renvoie N/A

Comment veux-tu que l'on comprenne quelque chose si tes explications et données ne sont pas claires.

144 est une valeur provenant de la feuille 2 c'est juste une copie de valeur.

Quand je dis que je met la valeur D1 dans le TCD c'est que je choisis dans le filtre du TCD la valeur renvoyer en D1.

La valeur D1 est en N/A car il s'agit d'une recherche qui va dans un autres fichier exel

Re,

Sur base de ton fichier mis ici place ce code dans la feuille du TCD

Private Sub Worksheet_Activate()
'macro Dan le 07/07/11
Dim choix As String
With ActiveSheet
    On Error GoTo fin
    choix = .Range("D1")
    .PivotTables("Tableau croisé dynamique1").PivotFields("1").CurrentPage = choix
End With
Exit Sub
fin:  MsgBox "la valeur de D1 n'est pas contenue dans le TCD"
End Sub

Pour placer le code, clique droite sur l'onglet de la feuille contenant le TCD, puis coller le code dans le fenêtre.

Le TCD se mettra à jour à chaque fois que tu activeras la feuil3

Si ok, n'oublie pas de cliquer sur le V vert pour cloturer le fil

Je vais tenter de faire cela dans la semaine.

Qu'entend tu part coller le code dans la fenètre de l'onglet contenant le TCD.

Il faut que je fasse un macro pour placer ce code??

Merci

re

Qu'entend tu part coller le code dans la fenètre de l'onglet contenant le TCD.

Il faut que je fasse un macro pour placer ce code??

non !

Fais ceci :

  • clique droite sur l'onglet qui contient le TCD
  • Choisis l'option "visulaiser le code"
  • Dans la fenêtre, colle le code que je t'ai donné
  • Enregistre ton fichier

Amicalement

Bonsoir, j'ai fait ce que tu m'as dit? et cela ma donne bien le " la valeur D1 n'est pas dans le TCD" mais à aucun moment cela ne me change quelques chose dans le TCD de ma page.

Merci

re,

cela ma donne bien le " la valeur D1 n'est pas dans le TCD" mais à aucun moment cela ne me change quelques chose dans le TCD de ma page

si tu reçois le message, c'est que la valeur en D1 n'existe pas dans le champ de page et donc dans ta base de données.

Essaie en mettant cette instruction juste avant ON ERROR GOTO FIN

.PivotTables("Tableau croisé dynamique1").RefreshTable

Amicalement

Je vais tenter en le mettant.

Mais j'ai bien vérifier et la valeur D1 fait partie de ma base de données cela est sur par contre.

-- 19 Juil 2011, 01:47 --

Je viens d'effectuer la modif du code dans mon fichier et cela ne marche pas.

La valeur en cellule D1 est bien présente dans ma source de données et à aucun moment les références dans mon TCD ne change malgrès un changement de la valeur D1.

Si tu as une autre méthode je suis preneur.

Sinon y t il moyen d'voir un équialent sans passer par un TCD ( formule, macro...°).

Merci

Rechercher des sujets similaires à "remplacer tcd formule"