Difficultés pour la création de tableaux dynamiques

Bonjour à tous,

Je suis en train de travailler sur une base de données pour une bibliothèque. Jusque-là rien de bien compliqué.

J'ai un onglet qui contient les données et 3 autres onglets qui contiennent les informations qui vont me permettre de créer des tableaux dynamiques croisés.

J'arrive facilement à créer un tableau dynamique croisé et à effectuer un tri en fonction des initiales de pays mais je suis embêté lorsqu'il s'agit de créer un tableau dynamique croisé en fonction des onglets (catégorie de droit, droit international public). Soit excel m'indique qu'il y a trop de données, soit il crée un tableau avec des données totalement fausses (les chiffres ne correspondent pas à la bonne catégorie de droit).

Je suppose que mes tableaux d'informations doivent être saisis différemment mais je sèche sur ce coup.

Mon objectif est de créer un tableau dynamique où Excel retrouve non seulement la cote de livre, mais également son titre et la catégorie de droit auquelle il est associé.

Est-ce possible de procéder ainsi ? Je joins un exemple de fichier dans mon post et j'espère que les dieux de la planète excel pourront me porter chance.

Je vous remercie si vous trouvez le temps de vous pencher sur mon problème.

Meilleures Salutations!

Cobbycom

24exemple-excel.xlsm (27.85 Ko)

Bonjour,

Il faudrait que tu précises par des exemples ce que tu souhaites, car tu n'es pas très clair

Cdlt

Bonjour Jean-Eric,

Effectivement, j'aurais pu simplifier

Je te renvois un autre tableau avec un peu plus de données.

Tu as les mêmes onglets qu'auparavant et j'ai rajouté un onglet "tableau dynamique" (tableau que j'ai créé directement grâce aux outils excel).

Dans cet onglet, tu vois la 1ère ligne : CB/CDN 1.3 a BEAU 2000

CB/CDN = pays

1.3 = Catégorie de droit /

BEAU = Auteur

Mon objectif est qu'excel sache que le chiffre existant dans chaque étiquette correspond à une catégorie.

J'ai mis 3 exemple dans l'onglet "objectif visé". En espérant que je sois plus clair cette fois

Merci

Cobbycom

Bonjour Jean-Eric,

Effectivement, j'aurais pu simplifier

Je te renvois un autre tableau avec un peu plus de données.

Tu as les mêmes onglets qu'auparavant et j'ai rajouté un onglet "tableau dynamique" (tableau que j'ai créé directement grâce aux outils excel).

Dans cet onglet, tu vois la 1ère ligne : CB/CDN 1.3 a BEAU 2000

CB/CDN = pays

1.3 = Catégorie de droit /

BEAU = Auteur

Mon objectif est qu'excel sache que le chiffre existant dans chaque étiquette correspond à une catégorie.

J'ai mis 3 exemple dans l'onglet "objectif visé". En espérant que je sois plus clair cette fois

Merci

Cobbycom


Excuse moi Jean-Eric.

Problème d'envoi du fichier.

Dès que je rentre du boulot, je te le renvois sur la même page.

Merci pour ta compréhension.

Cobbycom

Voilà le tableau d'exemple.

Re,

Un début de réponse

Cdlt

J'ai supprimé des données pour avoir un fichier compressé <300ko.

Bonjour Jean-Eric,

Je te remercie pour le magnifique travail accompli. J'ai déjà pu avancer mon tableau de manière exceptionnelle.

Le "problème" que je rencontre maintenant (après j'arrête de t'embêter c'est promis) c'est au sujet de la colonne "Q" (cat.) dans l'onglet "données" de notre tableau.

Comment as-tu fait pour que Excel reconnaisse le bon chiffre à inscrire dans cette colonne ?

Pour le reste, rien à dire c'est tout simplement excellent.

Bonne journée

Cobbycom


Le problème est que j'ai un peu plus de 100'000 lignes à classer dans mon tableau.

Si je dois taper les chiffres à la main, c'est facile pour les 1'000 premiers, mais si je dois répéter la procédure pour les 90'000 autres, je n'ai plus qu'à planter la tente, préparer un barbecue et surtout repousser la date à laquelle je devrai remettre le tableau à mon supérieur.

Désolé de t'embêter.

Merci

Bonjour,

Avec VBA

J'avais omis de te le préciser, désolé

A te relire.

Cdlt

Option Explicit
Public Sub Décomposer()
Dim ws As Worksheet
Dim lrow As Long, i As Long
Dim tmp
    Application.ScreenUpdating = False
    Set ws = Worksheets("Données")
    With ws
        lrow = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To lrow
            tmp = Split(.Cells(i, 3), " ")
            .Cells(i, 16) = tmp(0)
            .Cells(i, 17) = "'" & tmp(1)
        Next
    End With
End Sub

Bonjour Jean-Eric,

Malheureusement, je croyais que je connaissais Excel. Ben tu m'as donné un cours en accéléré et je vois que mes connaissances sont très basiques .

Pour être précis, j'ai bien essayé de reproduire les formules que tu as glissé dans l'onglet "données" (celles qui permettent d'obtenir la catégorie de droit et le résultat). A chaque fois, je rencontre un problème.

Pour faire bien, j'ai également essayé d'introduire les mêmes "VBA" dans tous les onglets données (CA, CB, CC, CD, CE, CF) mais ça ne fonctionne pas. Dès que je reproduis la fonction que tu as mis à ma disposition (=RECHERCHEV(Q2;'Catégorie de droit (A)'!C:D;2;FAUX)), le formulaire se plante et me sort des données qui n'ont rien à voir avec ce qui est marqué.

Je me permets de te transmettre un dernier formulaire "exemple" qui va me servir pour ma base de données finales. Peux-tu m'aider à programmer les onglets CA, CB, CC, CD, CE et CF ? J'ai conservé les données que tu m'as transmises dans l'onglet CB mais pour tous les autres il ne s'agit que d'une copie de fonction que j'ai "emprunté" à l'onglet "CB".

Si tu n'as pas le temps pas de problèmes. Je te remercie encore pour ton aide.

Bon après-midi.

Cobbycom

Bonjour,

Tu avais supprimé la macro

Pour le moment, je te renvoie ton fichier, tel que avec la macro modifiée:

Option Explicit
Public Sub Décomposer()
      ' Lancement procédure : Ctrl+w
      Dim ws As Worksheet
      Dim lrow As Long, i As Long
      Dim tmp
10        Application.ScreenUpdating = False
20        Set ws = ActiveSheet
30        With ws
40            lrow = .Range("A" & Rows.Count).End(xlUp).Row
50            For i = 2 To lrow
60                tmp = Split(.Cells(i, 3), " ")
70                .Cells(i, 16) = tmp(0)
80                .Cells(i, 17) = "'" & tmp(1)
90            Next
100       End With
End Sub

Pour chaque feuille créée CA, CB, etc..., en appuyant sur Ctrl+w, tu lanceras la macro pour décomposer 'tes cotes'.

Plus tard, si tu as besoin, on pourra automatiser si ton nombre d'onglets est variable...

A te relire.

Cdlt

Rechercher des sujets similaires à "difficultes creation tableaux dynamiques"