Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Transformer "listing" en base de données exploitable

titiborregan5

XLDnaute Accro
Bonjour à tous,

je rencontre un petit souci sur une extraction que je n'arrive pas à exploiter.

Mon logiciel de gestion permet de choisir un ou des type(s) d'axes (Activités & ressources) et le code de l'axe qui va avec pour un "EJ".

Du coup lorsque je fais mon extraction il me renvoie en "listing" (autant de lignes que de types et codes différents) le détail de l'EJ.

Or, je le souhaiterais au format base de données qui me permettrait de pouvoir en faire un TCD ensuite, car en l'état actuel il me somme les lignes alors que c'est une répartition faite sur 2 axes!

Un bon fichier valant mieux qu'un long discours j'ai fait un petit fichier exemple de quelques lignes, le réel s'approchant des 15000 lignes!

Merci d'avance pour votre aide!
Je ne sais pas comment faire ce retravail de la base via formules/filtres élaborés, mix de 2 bases ou macro...

Tibo
 

Pièces jointes

  • Exemple transfo bdd.xls
    18.5 KB · Affichages: 40
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Transformer "listing" en base de données exploitable

Bonjour,

Un essai (bricolage)

Je ne suis pas sûr que cela puisse le faire dans tous les cas de figure

a+
 

Pièces jointes

  • titi Exemple transfo bdd.xls
    80 KB · Affichages: 25

Modeste

XLDnaute Barbatruc
Re : Transformer "listing" en base de données exploitable

Bonjour Tibo, CHALET53,

On en était tout de même un peu réduit à essayer de comprendre dans quel cas on devait recopier ... ou pas ... et quoi!? À regarder en diagonale le code de CHALET53, je doute encore un peu plus

Pas recopié la dernière ligne qui -dans ce que j'avais compris- ne devait pas l'être

... Tu nous en diras plus, si aucune des propositions n'est correcte

Ajoute une feuille "Feuil1" à ton classeur, place le code suivant dans un Module standard ... et essaie!
VB:
Sub listing()
Dim x As Long
Dim tablo()
With Sheets("Rapport 1")
    For Each c In Range(.Cells(2, 2), .Cells(.Rows.Count, 2).End(xlUp))
        If c = "ACTIVI" Then
            codeAct = c.Offset(0, 1)
            ligne = 1
            Do While c.Offset(ligne, 0) = "RESSOU"
                ReDim Preserve tablo(3, x)
                tablo(0, x) = .Cells(c.Offset(ligne, 0).Row, 1).Value
                tablo(1, x) = codeAct
                tablo(2, x) = .Cells(c.Offset(ligne, 0).Row, 3).Value
                tablo(3, x) = .Cells(c.Offset(ligne, 0).Row, 4).Value
                ligne = ligne + 1
                x = x + 1
            Loop
        End If
    Next c
End With
With Sheets("Feuil1")
    .Cells(2, 1).Resize(x, 4) = Application.Transpose(tablo)
End With
End Sub
 

titiborregan5

XLDnaute Accro
Re : Transformer "listing" en base de données exploitable

Hello les bricolos !!!!
merci pour vos retours!!! je suis désolé si je n'ai pas été clair! c'est vous comment lorsqu'on expose son problème on croit que tout est logique!!! encore désolé!

J'ai bricolé également et en fait le but était vraiment d'obtenir le format "base de données" pour faire un TCD exploitable!

Bizarrement, j'ai fait ça en très peu de lignes :
VB:
Sub t()
    For i = 2 To Range("a1").End(xlDown).Row
        If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 2) = "RESSOU" Then
        x = Application.Match(Cells(i, 1), Range("a:a"), 0)
        Cells(i, 4) = Cells(x, 3)
        Cells(x, 6) = "non"
        End If
    Next
End Sub

j'ai résonné un peu à l'inverse et la base est (très) légèrement différente mais pas tant!!!

Là où je bloquais c'était pour les EJ avec plus de 2 lignes!!!

Je ne vous embête pas plus, je garde vos solutions sous le coude car elles fonctionnent et on ne sait jamais pour la mienne qui m'a l'air un peu bancale tout de même!, et vous remercie encore une fois!!!!

A+
 

Modeste

XLDnaute Barbatruc
Re : Transformer "listing" en base de données exploitable

Re,

Eh ben, maintenant, je comprends encore moins
Quel rapport avec l'étape 2 (ou 3) de ton premier fichier

... Enfin, si tu as trouvé ton bonheur, tant mieux!
 

titiborregan5

XLDnaute Accro
Re : Transformer "listing" en base de données exploitable

Re,

Eh ben, maintenant, je comprends encore moins
Arf ... désolé
Quel rapport avec l'étape 2 (ou 3) de ton premier fichier

... Enfin, si tu as trouvé ton bonheur, tant mieux!
L'étape 1 est pour transformer la base pour pouvoir en faire un TCD sur 2 axes sans doubler les montants
et l'étape 2 c'est la finalité, c'est à dire le TCD, qui était là juste pour illustrer mes propos! Visiblement ça n'a pas marché (rires)!!!

Du coup il me fallait recréer des lignes avec les 2 types (activité et ressource) sur la même ligne et non sur 2 différentes.
On a plusieurs lignes quand on a 2 codes ressources pour 1 même activité...

Bref j'ai l'impression que plus j'en dis moins je suis clair!!!

En gros plus je pédale moins fort, et moins j'avance plus vite!!!
Modeste, plus t'as de gruyère plus t'as de trous, ok? mais plus t'as de trous, moins t'as gruyère en fait?

Merci encore!
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…