Transformer tableau en fichier à plat

Bonjour,

Je dois régulièrement exporter des données d’un logiciel vers excel pour exploiter les informations sous différents angles.

Le problème est que les informations ne m’arrivent pas sous un format à plat et je dois retraiter manuellement le tableau pour le mettre à un format qui me permette de réaliser des graphes et TCD.

Je n’arrive pas à automatiser la transformation en fichier en plat via formule. D’ailleurs, je ne sais pas si c’est possible. Je pense qu’avec VBA cela peut se réaliser mais je suis nulle en VBA….

Je fais donc appel à votre aide et vos connaissances.

Vous trouverez en pj mon doc avec le résultat souhaité.

Merci d’avance

bonjour

joins le fichier de départ et le fichier que tu souhaites au final (je n'ai pas compris ton exemple)

Voici mon fichier en pj.

Dans onglet général, c’est le document tel qu’il est extrait du logiciel (j’ai uniquement modifié les noms).

Dans l’onglet « fichier à plat » :

Fichier général avec retraitement manuel puis en dessous exemple de TCD que je souhaiterais réaliser.

En fait, mon problème est que j’ai une ligne par n° de rapport avec les noms de l’équipage sur la même ligne mais sur différentes colonnes. Je souhaiterais un équipage par ligne, du coup il est normal que pour un même rapport j’ai autant de ligne que d’équipage.

Petit schéma :

avant

N° de rapport Equipage 1 Equipage 2

3510 Dupont Martin

Après

N° de rapport equipage

3510 Dupont

3510 Martin

J’espère avoir été claire.

merci

re

ma suggestion, réalisée en 3 minutes, que tu peux agrandir (voir les formules* dans la seconde feuille)

j'ai supposé qu'il y avait au maximum 7 personnes par ligne

il y a des lignes inutiles (avec un zéro en dernière colonne), on peut les éliminer si besoin. Facilement (je crois)

* ya pas de formules, de simples renvois à la feuille 1

294toto.xls (19.50 Ko)

merci pour ta réponse mais dans ton fichier la colonne M est erronné à partir de la cellule M4.

la formule présente dans la feuille 2 en cellule M4 est =Feuille1!M4 alors que normalement M4 = Feuille1!O2.

mon probléme est que je ne sais pas copier une formule en verticale de données horizontales

exemple :

feuille 1 : données en ligne

A1 B1 C1 D1

Doivent devenir

Feuille 2 : à copier en colonne

A1 = feuille1! A1

A2 = feuille1! B1

A3 = feuille1! C1

C'est peut être tout bête mais je ne sais pas copier ce type de formule dans ce sens (transposé ne convient pas dasn ce cas..)

merci

re à toi

j'ai saisi les formules une à une (simple modif) pour les 7 lignes du haut)

et comme je suis flemmard (tous les informaticiens qui passent nuits et WE sur leur PC le sont ) j'ai un trouvé mieux

en feuille 1 : dans une ligne, copier les 7 cellules des équipes

aller en feuille 2 , clic dans la cellule M9 et "collage spécial" avec liaison ET avec transposition

recommencer pour chaque ligne de la feuille 1

ça va assez vite

105toto.xls (19.00 Ko)

Bonjour à tous,

en vba :

Sub traiterData()
    Dim shS As Worksheet, shD As Worksheet
    Dim lig1 As Long, lig2 As Long, col1 As Long
    Set shS = ActiveSheet
    Sheets.Add
    Set shD = ActiveSheet
    shS.Range("A1:M1").Copy shD.Range("A1")
    shD.Range("M1") = "Equipage"
    lig2 = 2
    Application.ScreenUpdating = False
    For lig1 = 2 To shS.Cells(Rows.Count, 1).End(xlUp).Row
        col1 = 13
        Do While shS.Cells(lig1, col1) <> ""
            shS.Cells(lig1, "A").Resize(1, 12).Copy shD.Cells(lig2, "A")
            shS.Cells(lig1, col1).Copy shD.Cells(lig2, "M")
            lig2 = lig2 + 1
            col1 = col1 + 1
        Loop
    Next lig1
    Application.ScreenUpdating = True
End Sub

eric

248classeur3.xlsm (26.58 Ko)

de rien....

Merci beaucoup eriiic

ca va beaucoup beaucoup m'aider

Une question... voici dans le fichier joint un extrait du mon tableau et en rouge le résultat que je voudrais avoir

je n'arrive pas à adapter le code car j'ai plusieurs niveaux de colonnes...

Pourriez vous m'aider

merci

Bonjour,

voici dans le fichier joint...

Ah oui ?

Et explique en détail ta problématique.

eric

Pardon....

Là ça doit être bon

J'ai insérer dans le fichier ce dont j'ai besoin comme résultat mais en gros chaque colonne a 2 niveaux d'intitulés de colonne. l'ensemble de ces 2 niveaux d'intitules doivent passer en 2 colonnes et d'être dupliquées autant de fois que nécessaire

J'espère que là c'est plus clair & merci d'avance

Regarde si ça te va.

eric

67classeur1.zip (13.13 Ko)

Bonjour Eric,

Merci beaucoup pour ta réponse et pour le temps consacré.

C'est presque ce dont j'ai besoin comme résultat mail il me reste une dernière manip à faire. En fait je voudrais que la macro fasse en sorte que les indicateurs se mettent les uns à côté des autres et donc (c'est là où j'ai du mal à imaginer comment il faut faire) il faut qu'elle fasse un matching à plusieurs niveau avant de mettre les données sur la même ligne. Je joins un exemple... et cela ne pourra pas marcher avec un simple copier coller car on n'a pas les mêmes "magasins" pour chaque indicateur (le résultat sur la feuil4)

Merci encore pour ton aide

33resultat2.zip (18.53 Ko)

Bonsoir,

j'étais absent qcq jours.

C'est presque ce dont j'ai besoin comme résultat...En fait je voudrais que la macro fasse en sorte que les indicateurs se mettent les uns à côté des autres

Alors pourquoi ça ne figurait pas dans le fichier exemple que tu avais fourni ?

Là la logique est toute autre et oblige à tout reprendre à zéro.

Je verrais un peu plus tard. Si tu n'as pas de nouvelles dans 5-6 jours, relance-moi.

eric

Boinsoir,

c'est toujours d'actualité ou c'est résolu ?

eric

Rechercher des sujets similaires à "transformer tableau fichier plat"