Menu

Pb tableau croisé dynamique - Données texte [Résolu/Fermé]

Messages postés
3
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
10 septembre 2009
- - Dernière réponse : eriiic
Messages postés
22754
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 juin 2019
- 24 févr. 2016 à 15:08
Bonjour,

Je souhaite réaliser un tableau croisé dynamique à partir de ces données :

ech du val
8.1 A <1
8.1 B <2
8.1 C <5
8.1 D 14
8.1 E a
9.1 A <5
9.1 C f
9.1 D a
9.1 E <78
9.1 F S2+


- > tableau souhaité :

A B C D E F
8.1 <1 <2 <5 14 a
9.1 <5 f a <78 S2+

Je ne cherche pas à faire des calculs mais a réalisé un bilan ou mes colonnes sont dynamique

Merci pour votre aide
Afficher la suite 

3 réponses

Messages postés
4272
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
26 janvier 2019
526
0
Merci
--Salut
tu as combien de colonnes ?

et il faut une étiquette pour chaque colonne

peux-tu mettre ton fichier sur cjoint.com
et me donner le lien




xkristi
Je ne détiens point la vérité , je te la laisse  volontiers ...
Messages postés
4272
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
26 janvier 2019
526
0
Merci
tu peux voir le résultat ici

http://cjoint.com/?cwnkEoZ0EH

mais c'est un TCD mais pas tout à fait comme tu veux ...


stephanie.msalem
Messages postés
3
Date d'inscription
vendredi 22 février 2008
Statut
Membre
Dernière intervention
10 septembre 2009
-
En fait c'est pas ce que je veux faire. Je pense que je ne vais pas y arriver avec un tableau croisé dynamique

voici le fichier

http://cjoint.com/?cwnUBedv13

il me faut les dossiers en ligne les analyses en colonnes et les résultats au milieu (je veux une ligne par dossier)

vous connaissez une fonction EXCEL qui fait ceci ?
Messages postés
22754
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 juin 2019
5512
-1
Merci
Bonjour stephanie,
coucou xkristi :-)

Il n'y a pas de fonction excel qui fasse cela..
Je t'ai fait une macro à coller dans un module.
Il faut activer ta feuille avec les données avant de lancer la macro. Cette feuille de données peut-être dans un autre classeur, mais le classeur avec la macro doit être également ouvert pour pouvoir la lancer (logique...).
Attention j'utilise temporairement les colonnes AA et AB de la feuille de données. Si elles sont utilisées il faut modifier la macro pour repousser ces colonnes.
J'espère que j'ai bien compris dans quel sens tu le voulais car je crois qu'on n'a pas la même définition de ligne et colonne... ;-)
il me faut les dossiers en ligne les analyses en colonnes et les résultats au milieu (je veux une ligne par dossier)
Si tu veux une ligne par dossier c'est qu'ils sont présentés en colonne pour moi...
Sinon tu inverses tes 2 1ères colonnes...

http://cjoint.com/?cwsrIJBRUW

Bonne soirée tout le monde
eric

PS: Voici le code des fois que ça interesse qcq'un lorsque le lien cijoint ne sera plus actif
Option Explicit

Sub Tableau()
    ' réorganise sous forme de tableau dans une nouvelle feuille des données fournies sur 3 colonnes :
    ' colonne A : nom de ligne
    ' Colonne B : nom de colonne
    ' Colonne C : data
    ' la feuille contenant les données doit etre active avant de lancer la macro
    Dim data()
    Dim col()
    Dim lig()
    Dim nblig As Long, i As Long, j As Long, k As Long
    Dim sh As Worksheet
    Set sh = ActiveSheet
    ' créer feuille Tableau (la supprimer avant si existante)
    Application.DisplayAlerts = False
    On Error GoTo creer
    Sheets("Tableau").Activate
    Sheets("Tableau").Delete
    Application.DisplayAlerts = True
creer:
    Sheets.Add.Name = "Tableau"
    '
    sh.Activate
    ' préparer tableau
    Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("AA1"), Unique:=True
    col = Range("AA2:AA" & [AA65536].End(xlUp).Row)
    Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("AB1"), Unique:=True
    lig = Range("AB2:AB" & [AB65536].End(xlUp).Row)
    'coller noms col
    Range([AA2], [AA2].End(xlDown)).Copy
    Sheets("Tableau").Range("A2").PasteSpecial Paste:=xlPasteValues, Transpose:=False
    'colle noms lig
    Range([AB2], [AB2].End(xlDown)).Copy
    Sheets("Tableau").Range("B1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    ' supprimer colonnes temporaires
    Columns("AA:AB").Delete Shift:=xlToLeft
    ' remplir tableau
    data = Range("A2:C" & [A65536].End(xlUp).Row)
    For i = 1 To UBound(data)
        j = 1
        While data(i, 1) <> col(j, 1)
            j = j + 1
        Wend
        k = 1
        While data(i, 2) <> lig(k, 1)
            k = k + 1
        Wend
        Worksheets("Tableau").Cells(j + 1, k + 1).Value = data(i, 3)
    Next i
End Sub
Genial pile ma recherche merci
sevnulenexcel
Messages postés
2
Date d'inscription
mercredi 24 février 2016
Statut
Membre
Dernière intervention
24 février 2016
-
Bonjour, désolée, je ne vois pas comment je fait pour utiliser cette macro?
Au secours! Cela semble bien être la solution à mon problème. Est-ce que qu'elqu'un peut m'aider. Merci
eriiic
Messages postés
22754
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 juin 2019
5512 -
Bonjour,

Faire Alt+F11 pour ouvrir l'éditeur VBE et coller le code.
eric
sevnulenexcel
Messages postés
2
Date d'inscription
mercredi 24 février 2016
Statut
Membre
Dernière intervention
24 février 2016
> eriiic
Messages postés
22754
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 juin 2019
-
Merci pour cette réponse, réussir un truc pareil me donne envie de changer mon pseudo...;) Non... je plaisante, même si j'aurais bien aimé comprendre...
.

Merci et bonne journée
eriiic
Messages postés
22754
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 juin 2019
5512 -
j'aurais bien aimé comprendre... n'est pas une question.
Si tu en as une démarre un nouveau topic en posant une question précise.

Le B.A.BA pour utiliser un code :
http://www.commentcamarche.net/faq/8130-mise-a-jour-d-une-procedure-ou-d-une-fonction-en-vba
eric