TCD - sans somme de valeurs (en VBA si possible)

Bonjour,

J'ai des données qui représentent 3 variables que je cherche à croiser.

  • Nom de l'espèce (="Correspondance")
  • Nom de la placette (="autres infos")
  • Recouvrement (="abondance")

Lorsque je créé un TCD, je place les "Correspondance" en colonne et les "autres infos" en ligne.

J'aimerais ensuite faite apparaître les valeurs qui correspondent au recouvrement de chaque espèce dans la placette qui correspond.

Le problème c'est que le TCD effectue des sommes de valeurs, ce n'est pas ce que je veux.

Pour le moment j'ai un contournement qui consiste à faire la somme des valeurs des "abondances" cela fonctionne pour les valeurs 1, 2, 3, 4, 5 mais engendre une erreur ou un 0 pour les valeurs "r" et "+" (qui ne sont pas numériques) ensuite je suis contraint de faire les changements à la main.

Avez-vous une meilleure solution ?

Selon la démarche, j'essaierai de le faire en VBA, pour l'intégrer à l'ensemble de ma procédure.

Merci de votre attention !

Bonne journée

Je joins un document, ce sera plus clair.

4tcd.xlsx (21.29 Ko)

Bonjour

Le TCD ne parait pas approprié pour ce que vous demandez

Pouvez-vous mettre un fichier avec le résultat attendu

Crdlt

Bonjour,

Voici le même document, avec le résultat espéré.

J'ai opté pour la solution rapide, pour représenter ce que j’essaie d'obtenir, du coup les r ont été transformé en "+", ce que je souhaite éviter.

A plus tard !

5tcd.xlsx (25.68 Ko)

Je pense savoir le faire avec des boucles, mais je crains que ça ne soit bien lourd... Et le TCD était une solution vraiment intéressante.

J'envisageais aussi de combiner le TCD, puis à chaque "1" faire une recherche pour obtenir le bon résultat. Ce qui réduit un peu le temps d'exécution.

Bonne soirée !

Bonjour à tous

Bizarre, alors que cela avait déjà résolu certaines de tes demandes, que tu n'aies pas pensé à PowerQuery qui lui sait croiser, décroiser des données sans les agréger...

Bonjour,

Cette procédure doit s'intégrer dans un ensemble de codes, je n'avais pas pensé à PowerQuery en effet, si je reprend la requête que vous avez fait, je peux lancer automatiquement le traitement PowerQuery en actualisant automatiquement en VBA. Je vais tester ça !

A plus tard

Bonjour,

A priori, sur mon document je n'ai pas la possibilité de "Pivoter" la colonne. Je ne peux que "dépivoter".

RE

Tu te places bien dans la bonne colonne ?

Quelle que soit la colonne je n'ai que l'option dépivoter le tableau.

Bonjour,

J'avais avancé sur votre demande mais par code vba. Vu la proposition de 78chris qui semble vous convenir, est-il utile que je continue ?

Cordialement

Bonjour,

J'ai du mal à intégrer PowerQuery à une procédure VBA.

Dans mes documents j'utilise parfois un premier traitement sous PowerQuery, qui s'exécute automatiquement (via code VBA) lorsque l'on active un bouton. L'exécution de PowerQuery prend très clairement moins de temps que le VBA, pour des bases de données assez conséquentes. Mais ça prend un peu de temps quand même.

Pour lancer la procédure PowerQuery en VBA je dois actualiser le document, or, s'il existe déjà une procédure dans mon document, ça va tout lancer à la suite et engendrer des latences + des calculs inutiles.

Tout ça pour dire que si votre solution en VBA s'exécute plutôt vite je suis preneur ! Je dois traiter un maximum de 1000 .. 1500 lignes en général.

Merci

RE

Selon la version cela s'appelle Colonne de TCD ou bien Pivoter (merci MS pour les traductions fluctuantes...)

C'est sous Remplir, donc plus à gauche que dépivoter

Bonjour,

En effet, j'ai fini par trouver grâce à vos indications haha.

En revanche quand je fait "fermer et charger" PQ se ferme mais sans charger quoi que ce soit. Pourtant dans la fenêtre PQ j'ai bien le tableau et ses données rangées correctement.

Bonjour

Se placer dans une cellule, Données, connexions existantes et sélectionner la requête.

Sur 2010, Excel note quand on ne charge que la connexion et le reproduit pour toutes les requêtes, ce que pour ma part je préfère.

Sur 365, il faut penser à le repréciser à chaque fois sinon on se retrouve avec plein de tableaux chargés dans des onglets et des duplicatas de requêtes...

Je cherche d'ailleurs si cela peut se paramétrer afin d'avoir le fonctionnement de 2010 dans 365...

Bonjour,

@78Chris,

Dans mes options PQ, j'ai modifié comme ceci :

annotation 2019 12 01 223500

Parle-t'on de la même chose ?

Cdlt.

Bonjour,

J'arrive à faire fonctionner le tout, cependant, lorsque j'utilise pivoter la colonne, les abondances deviennent des 1 er des 0.

Je n'ai donc pas les mêmes informations que vous (1,2,3,4,5,r,+)

Pourtant je transforme bien le type en texte.

Edit : j'oubliais de ne pas agréger !

Bonjour

Tout ça pour dire que si votre solution en VBA s'exécute plutôt vite je suis preneur !

Désolé pour le retard mais le WE n'aidant pas...

Votre fichier en retour avec le code VBA

J'ai placé un bouton sur votre feuille Correspondance. Le résulat est placé en feuille RECAP

Cordialement

13drosophile-1.xlsm (33.45 Ko)

Bonjour

Parle-t'on de la même chose ...

Super ! Merci ! Effectivement cela résout mon PB

Bonsoir,

Merci beaucoup Dan pour la solution en VBA que vous apportez ! Le code s'exécute extrêmement vite malgré le nombre de lignes et de croisements à faire.

Avec la solution proposée par 78chris, ça fait deux alternatives vraiment efficaces.

C'est un problème que j'avais depuis longtemps et j'ai toujours bidouillé pour avoir les résultats que je voulais, désormais ça ne devrait plus me prendre tant de temps !

Merci de votre aide

Bonne soirée !

Rechercher des sujets similaires à "tcd somme valeurs vba possible"