Conversion d'un tableau en liste

Bonjour,

J'ai un problème conversion de planning prévisionnel fournit par un ordonnanceur et le résultat que souhaiterais avoir pour inclure les tâches de cet ordonnanceur dans un autre planning.

Le planning prévisionnel de l'ordonnanceur est reçu dans un fichier CSV que j'ai converti en excel (onglet Tableau Planif). Celui-ci comporte plusieurs colonnes : environnement, appli, job et x colonnes remplies de 1 et 0 correspondant au jour du mois sélectionné (dans l'exemple 28 colonnes pour Février). La première colonne correspondant au 1er février et la dernière au 28. Le chiffre 1 = planifié le 0= non planifié)

La liste que j'essaie d'obtenir à partir de ce tableau est dans l'onglet Liste à Produire. il consiste à lister les applications planifiées le 1er février, celles du 2, etc ...)

J'avoue ne pas savoir par quel bout prendre la chose...

Si quelqu'un peut m'aider à y voir un peu plus clair ....

Merci pour aide oh combien précieuse à chaque fois.

Je ne vois pas comment joindre mon fichier !

Si quelqu'un peut me renseigner

Bonjour alain29100, le forum,

Je ne vois pas comment joindre mon fichier !

Clique sur l'enveloppe avec le X.....

1

Puis dans le rectangle en pointillé pour sélectionner ton fichier...

1

Cordialement,

Je n'ai pas les autorisations suffisantes à priori

Je le fais d'un autre PC

Alain

Idem

J'ai beau cliquer dans le carré vert ou faire copier coller dans le carré vert, ca ne marche pas !!!

Je ne comprend pas

Bizarre

Alain

Bonsoir,

Vraiment quelqu'un peut-il m'aider ?

Je clique sur sur l'enveloppe avec un X le rectangle vert apparait mais je ne peux rien déposer dedans

Sans doute que je fais quelque chose qui n'est pas correct...;je ne vois pas quoi

Alain

Bonjour,

Quel est le poids de votre fichier ? Si >1.5Mo il faut l'alleger.

Sinon

joindre

Bonne soirée.

Tellement simple et tellement clair comme explication...

C'est pour cela que nous demandons très souvent un fichier avec les résultats attendus, parfois plus compréhensibles que de simples explications textuelles ;)

oui tu prêches un convaincu

Encore faut-il pouvoir transmettre le fichier

Bonsoir Alain,

Travailles tu réellement sous Excel 2007 ? Sinon par POWER QUERY c'est assez simple à faire mais c'est un addon qui n'est natif qu'a compter de 2013.

J'attends ta réponse avant d'éventuellement me lancer.

Bonne soirée.

Bonsoir,

Oui pour l'instant

Bonsoir,

Alors ça dépasse mes compétences de réflexion en VBA désolé. Je laisse un expert prendre le relais.

Bonne soirée.

Merci Ergotamine

Néanmoins je vais upgrader Excel sur mon poste perso, il n'y a pas Power dessus. Je vais passer en 2019. Je fais çà dans la journée.

Si tu peux plancher sur le sujet en attendant, ca m'arrangerait.

En tout cas merci mille fois pour ton aide

ALain

Bonjour,

Ci-joint.Requête sur une table qui dépivote tes colonnes, applique une colonne conditionnelle si planifié alors inscrit la date puis supprime les doublons APPLI/DATE en ajoutant une colonne d'occurence de la combinaison APPLI/DATE.
Ensuite tu filtres directement sur la requête soit par la date souhaitée soit pas l'appli.

En attendant ton retour.

Bonne journée.

Bonjour alain29100, Ergotamine, le forum,

Je ne suis pas un expert en vba, et apparemment pas très doué pour les explications, , néanmoins, voici un essai par macro....de ce que j'ai compris:

Sur la feuille "Planif_Fevrier_Applicatif", le premier jour du mois commence en colonne 4.

Il faut récupérer toutes les lignes où la colonne 4 contient un 1 et les écrire sur la feuille "Liste à produire".

On répète l'opération avec les colonnes suivantes jusqu'au dernier jour (donc dernière colonne).

Si c'est bien ça, cette macro devrait faire le job:

Option Explicit
 Dim tablo, tabloR()
 Dim i&, k&, dercol%, col%, j%

Sub MettreAjour()
     tablo = Sheets("Planif_fevrier_Applicatif").Range("A2").CurrentRegion
    dercol = Cells(2, Cells.Columns.Count).End(xlToLeft).Column

    Sheets("Liste à produire").Range("A1").CurrentRegion.Offset(1, 0).ClearContents

    Application.ScreenUpdating = False
          j = 1
    For col = 4 To dercol
          k = 0
      For i = 2 To UBound(tablo, 1)
        If tablo(i, col) = 1 Then
            ReDim Preserve tabloR(1 To 4, 1 To k + 1)
                tabloR(1, 1 + k) = j
                tabloR(2, 1 + k) = tablo(i, 1)
                tabloR(3, 1 + k) = tablo(i, 2)
                tabloR(4, 1 + k) = tablo(i, 3)
          k = 1 + k
        End If
      Next i
       On Error Resume Next
       With Sheets("Liste à produire")
        .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Resize(UBound(tabloR, 2), 4) = Application.Transpose(tabloR)
        .Columns.AutoFit
        .Activate
       End With
       Erase tabloR: j = j + 1
    Next col
       Erase tablo
End Sub

A partir de la feuille "Planif_Fevrier_Applicatif", CTRL + e pour lancer la macro.

Cordialement,

Rechercher des sujets similaires à "conversion tableau liste"