TCD - Données tableau transformé en champ

Bonjour à tous,

J'ai un problème pour extraire des données d'un tableau en passant par un TCD.

J'ai fait un code VBA mais c'est lourd et je dois le modifier chaque fois que je veux ajouter une colonne à mon tableau.

Ci-joint un exemple de mon tableau et de ce que je voudrais obtenir.

En gros je voudrais me servir des données de mon tableau d'origine comme champ de colonne.

Je ne sais pas si c'est possible en passant par un TCD mais ça me permettrai d'automatiser plus facilement l'extraction de mes données.

Merci.

19tcd-exemple.xlsx (12.21 Ko)

Bonjour

Un tableau à double entrée n'est pas une bonne source pour un TCD et tu ne peux réaliser le TCD souhaité avec tes données en l'état.

Tu constates toi-même que le problème d'ajout de colonne...

Il faut prévoir 4 colonnes

Service, Nom, Formation (en dessous on saisira les Formation 1 à n des personnes concernées), Statut (en-dessous on saisira le statut, OK ou autre, de la formation x pour cette personne)

La source sera mise sous forme de tableau

A partir de ce tableau, tu pourras créer tous les TCD souhaités sans avec à les modifier au fil du temps, juste les actualiser.

La notion du temps étant incontournable en entreprise, j'aurais ajouter une date au tableau source... éventuellement automatiquement à partir d'un tableau des formations...

Bonjour

Merci pour la réponse.

J'avais déjà pensé à cette solution mais je voulais savoir s'il était possible de faire autrement en gardant mes formation en colonne...

Je ne clôture pas pour le moment, j'attends quand même de voir si qqn aurait qch à proposer.

Bonjour,

Une proposition à étudier.

Cdlt.

22tcd-exemple.xlsm (30.77 Ko)
GabrielaNutria a écrit :

Bonjour

Merci pour la réponse.

J'avais déjà pensé à cette solution mais je voulais savoir s'il était possible de faire autrement en gardant mes formation en colonne...

Je ne clôture pas pour le moment, j'attends quand même de voir si qqn aurait qch à proposer.

bonjour à tous

tu veux faire avec Excel comme tu faisais sur papier. D'où tes problèmes.

Bonjour,

Merci c'est exactement ce qu'il me faut comm résultat !

Sauf que... en réalité mon tableau est un peu plus complexe que ça et je ne suis pasassez douée en VBA pour retranscrire mes données dans le tableau intermédiaire... En fait je ne sais même pas si c'est réalisable.

Ci-joint le fichier avec toutes les colonnes de mon tableau d'origine (onglet "Données") et le tableau intermédiaire qu'il me faudrait (onglet "onsolidation")

En gros il faudrait un tableau intermédiaire qui liste l'ensemble des données de mes "colonnes formation" à la suite

Merci de votre avis

jmd a écrit :

bonjour à tous

tu veux faire avec Excel comme tu faisais sur papier. D'où tes problèmes.

Je plussoie à ce que dit JMD, un seul tableau avec les 3 formations aurait aidé à faire un TCD facile(ment) par la suite

Il faut repenser ton onglet de données

P.

Je comprends tout à fait ce que vous dites et j'ai déjà pensé plusieurs fois à faire mon onglet données autrement mais je ne vois pas comment...

Si vous avez des idées pour le simplifier je suis preneuse !!!

Sachant que la solution de tout mettre à la suite "au fil de l'eau" (type onglet consolidation) ne pourra pas fonctionner, j'ai besoin d'avoir la vision de l'ensemble des formations pour chaque personne même si vide

Et à prendre en compte également que j'ajoute/enlève des personnes et formations


Et puis j'ai environ 30 formations à gérer.... multipliées par le nombre de personnes... qui arrivent/partent

Bonjour,

Ton problème n'est pas simple .... surtout si tu ne pas peux intervenir sur l'existant ...

Ci-joint tu trouveras une tentative en deux étapes vers "ton fichier idéal" ....

J'espère que cela pourra t'aider ...

Bonjour,

A priori ... malgré le nombre de téléchargements, tu n'as pas pu tester et commenter ... ???

J'espère que tu ne vas pas abandonner ....

Bonjour,

Non je n'abandonne pas ! Mais je n'avais pas eu le temps de bien regarder pour l'instant.

Par contre je ne comprends pas bien comment le fichier fonctionne... Si je pouvais avoir un peu plus d'explications pour comprendre.

Et idée de solution, mais je ne sais pas faire :

Est-il possible de faire une macro pour sortir un tableau en listant les éléments de :

Tableau1[[Service]:[Statut]];Tableau1[[Date formation1]:[Coût réel formation1]]

puis

Tableau1[[Service]:[Statut]];Tableau1[[Date formation2]:[Coût réel formation2]]

puis

Tableau1[[Service]:[Statut]];Tableau1[[Date formation3]:[Coût réel formation3]]

Cf onglet exemple

Ce serait le tableau intermédiare qu'il me faudrait pour réaliser mon tcd

Merci en tout cas de prendre un peu de temps pour réfléchir à mon problème !

Bonjour,

Une nouvelle proposition pour normaliser les données.

A te relire.

Cdlt.

Bonjour à tous,

une version différente parce que j'ai compris autrement

P.

Bonjour,

Bonjour Patrick1957,

J'avais omis le 'même si vide".

Version corrigée.

Cdlt.

Bonjour à tous,

Premièrement : désolée de répondre si tardivement, je n'ai pas pu me repencher sur le sujet avant...

Et deuxièmement : UN ENORME MERCI à vous d'avoir passé un peu de temps sur mon problème !!!

La solution que vous proposez me convient parfaitement et ça va me simplifier la vie !

Pour info, je privilégie celle de Jean-Eric (la dernière) : elle permet de ne pas retoucher la macro si je dois ajouter des formations.

Encore merci à vous

Je clos le sujet

Bonjour à tous,

Bon en fait, il y a encore un petit problème avec le code...

Il fonctionne très bien jusqu'à ce que je transpose dans mon fichier. Les deux lignes suivantes me posent problème :

Arr(5, k) = IIf(tbl(I, J) = "", "", CLng(tbl(I, J)))

Arr(6, k) = IIf(tbl(I, J + 1) = "", "", CLng(tbl(I, J + 1)))

Mes colonnes "Date de recyclage" sont calculées à partir de la colonne "Date formation" et donc contiennent des formules...

Et ça ne fonctionne pas. J'ai l'impression que c'est à cause de CLng

J'ai donc essayé d'enlever cette fonction, comme ci-dessous :

Arr(5, k) = IIf(tbl(I, J) = "", "", tbl(I, J))

Arr(6, k) = IIf(tbl(I, J + 1) = "", "", tbl(I, J + 1))

Mais le problème c'est que certaines dates passent du format français au format US ! Et donc toutes les dates sont faussées..

Est-ce que vous pourriez m'aider sur ce point ?

Merci !!!

8tcd-exemple05.xlsm (26.94 Ko)

Bonjour,

Essaie ainsi et regarde l'aide IIF...

Cdlt.

https://msdn.microsoft.com/fr-fr/VBA/Language-Reference-VBA/articles/iif-function

Arr(5, k) = IIf(tbl(I, J) = "", "", CLng(tbl(I, J)))
            If tbl(I, J + 1) = "" Then
                Arr(6, k) = ""
            Else
                Arr(6, k) = CLng(tbl(I, J + 1))
            End If
Rechercher des sujets similaires à "tcd donnees tableau transforme champ"