Tableau : Lignes en colonnes

Bonjour cher forumers,

J'ai encore une fois besoin de vos lumières.

J'utilise un tableau qui extrait des données d'une DB distante. Mais l'agencement des données ne me convient pas pour en faire un TCD. Je m'explique. Il s'agit d'analyser les données issues d'un formulaire rempli sur une page web et stocké en DB. Le soucis c'est que les champs de ce formulaire (par exemple "TypeClient") sont extraits en ligne sous une entête "ChampFormulaire" et les valeurs entrées par l'utilisateur dans ces champs sont également en ligne (exemple "Prospect") sous une entête "Valeur".

(voir exemple pour du concret. J'ai mis une série de commentaires pour vous aider à comprendre les valeurs possibles dans les différents champs).

J'aimerais que les valeurs de la colonne "ChampFormulaire" deviennent des colonnes de mon tableau et qu'elles reprennent les "Valeur" de ces champs.

Pouvez-vous m'aider ?

D'avance merci.

Catab

EDIT: Corrections dans la pièce jointe.

12exemple.xlsx (20.43 Ko)

bonjour,

une proposition

Sub aargh()
    Set ws1 = Sheets("données etat actul")
    Set ws2 = Sheets("données etat souhaité")
    dl1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
    Set hdr = ws2.Range("F3:K3")
    k = 3
    For i = 4 To dl1
        If ws1.Cells(i, 2) <> ws1.Cells(i - 1, 2) Then
            k = k + 1
            ws1.Range("A" & i & ":E" & i).Copy ws2.Range("A" & k)
            ws2.Cells(k, "L") = ws1.Cells(i, "H")
        End If
        Set re = hdr.Find(ws1.Cells(i, "F"), lookat:=xlWhole)
        If Not re Is Nothing Then
            ws2.Cells(k, re.Column) = ws1.Cells(i, "G")
        End If
    Next i
End Sub

Merci, ça ressemble à un bon début mais je n'ai toujours pas le corps de mon ticket étalé sur plusieurs colonnes.

De plus je maitrise encore mal le VBA pour tirer tout le potentiel d'une telle solution. Il me faudrait au moins quelques commentaires/explications pour que je puisse le reproduire et l'adapter à mon fichier réel :/

bonjour,

la macro fonctionne correctement me semble-t-il sur le fichier que tu as fourni.

macro et commentaires inclus dans le fichier joint

8catab.xlsm (28.68 Ko)

J'ai une solution !

Pas besoin de VBA, ni de trafiquer la requête SQL en amont. Simplement un petit traitement dans Excel en ajoutant quelques champs clés et quelques RECHERCHEV().

Voir pièce jointe.

EDIT : Je n'ai pas vu ton message, je vais me pencher dessus également. Merci d'avoir pris le temps de m'expliquer.

9solution.xlsm (26.23 Ko)
Rechercher des sujets similaires à "tableau lignes colonnes"