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

transformer un tableau simple en une liste à intégrer pour un tcd

margaux33

XLDnaute Nouveau
Bonjour
Je reçois régulièrement des fichiers contenant des tableaux à double entrées comme feuille 1 du fichier joint (le nombre de lignes ou colonnes est variable mais toujours de même nature).
Je cherche une macro qui peut transformer ce tableau en une liste similaire à celle de la feuille 2 du fichier joint.
L'objet de cette opération est d'intégrer ensuite cette liste dans une autre liste en de créer un TCD plus vaste (en fait multi période / axe).

Cordialement à vous et merci d'avance.
 

Pièces jointes

  • gestion.xls
    27.5 KB · Affichages: 322
  • gestion.xls
    27.5 KB · Affichages: 305
  • gestion.xls
    27.5 KB · Affichages: 303

matthieu33

XLDnaute Occasionnel
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonsoir margaux33,

Voici une solution.

@+
 

Pièces jointes

  • gestion_v1.xls
    35 KB · Affichages: 734
  • gestion_v1.xls
    35 KB · Affichages: 728
  • gestion_v1.xls
    35 KB · Affichages: 726

FullMond

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour,

J'ai exactement le même problème mais appliqué à mon cas (donc pas exactement finalement)

Je n'arrive pas à visualiser le code de la macro que matthieu a utilisé pour ça.

Comment puis-je faire ça?

Merci par avance

Cordialement,
 

jeanpierre

Nous a quitté
Repose en paix
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour FullMond, Bienvenue sur le forum, le fil,

Clic droit sur l'onglet de la feuil1 pour voir le code.

Bonne journée.

Jean-Pierre
 

FullMond

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour Jean-Pierre,

Merci de la réponse et de l'accueil, je ne savais pas qu'on pouvait y accéder directement

Allez le MUC72!!!! Plutôt le MSB actuellement...
 

FullMond

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Re,

J'ai essayé d'appliquer cette macro à mon fichier mais ca ne fonctionne pas comme je le voudrais.

J'ai attaché le fichier ci-joint dans l'onglet Sheet1, mes datas et dans l'onglet Sheet3 ce que j'aimerais obtenir grâce à la macro (je n'ai mis que le début mais que le reste se décline dans le même ordre idée jusquà la ligne total non inclus et en largeur que cela prenne toutes les colonnes)

En gros ce que je cherche à obtenir, c'est de passer d'un tableau à double entrée, à une liste qui me permettra de la réutiliser en TCD.

Voilà, peut être que mon tableau de départ ne permet pas de faire ça, merci de votre aide et de vos conseils en tout cas.

Cdt
 

Pièces jointes

  • TEST.zip
    30.6 KB · Affichages: 101
  • TEST.zip
    30.6 KB · Affichages: 94
  • TEST.zip
    30.6 KB · Affichages: 100

karsand

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour,
Je trouve votre macro excellente. Bravo.
Actuellement, la macro est active sur une trentaine de colonnes et 50 lignes. Pourriez-vous passer à 300 ?
Où éventuellement pouvoir fixer le nombre de lignes et colonnes.
Merci pour votre réponse et surtout votre disponibilité.
Karsand
 

Fred0o

XLDnaute Barbatruc
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonsoir karsand et bienvenue sur le forum.

En fait, la macro en question s'auto-adapte au nombre de ligne et etcolonnes de la feuille 1. L'as-tu testée sur ton fichier de données ?

A+
 

karsand

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonsoir karsand et bienvenue sur le forum.

En fait, la macro en question s'auto-adapte au nombre de ligne et etcolonnes de la feuille 1. L'as-tu testée sur ton fichier de données ?

A+


Bonjour,
Il fait jour à la Réunion. J'ai copié les données de ma feuille sur la feuille1. Les fusions se font automatiquement mais la dernière colonne et la dernière ligne n'apparaissent pas. Avec 49 compétences pour 33 élèves, je devrais arriver à 1617 lignes et je n'ai que 1536.
Votre démarche m'éclairera davantage même s'il fait jour sur l'île.
Merci d'avance.
Cordiales salutations
@+
Karsand
 

karsand

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour,

Je vous remercie de votre sympathique accueil.
Il fait jour à la Réunion. J'ai copié les données de ma feuille sur la feuille1. Les fusions se font automatiquement mais la dernière colonne et la dernière ligne n'apparaissent pas. Avec 49 compétences pour 33 élèves, je devrais arriver à 1617 lignes et je n'ai que 1536.
Votre démarche m'éclairera davantage même s'il fait jour sur l'île.
Merci d'avance.
Cordiales salutations
@+
Karsand

"Il n'y a guère que le sublime qui puisse nous aider dans l'ordinaire de la vie."
 

Fred0o

XLDnaute Barbatruc
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour karsand,

Dans la solution proposée, il supprimait volontairement la dernière ligne et la dernière colonne, pour ne pas avoir les totaux dans la liste. Il te faut donc modifier le code comme ceci :
VB:
Private Sub cmdListe_Click()
    Dim lgLig As Long
    Dim lgCol As Long
    Dim lgLigWS2 As Long
    
    ' Effacer le contenu de la feuille 2
    With Worksheets("Feuil2")
        If .Range("A65536").End(xlUp).Row > 1 Then
            .Range("A2:C" & .Range("A65536").End(xlUp).Row).ClearContents
        End If
    End With
    
    lgLigWS2 = 2
    
    With Worksheets("Feuil1")
        ' Boucle de la 2me à la dernière colonne de la ligne 1
        For lgCol = 2 To .Range("IV1").End(xlToLeft).Column
            ' Boucle de la 2me à la dernière ligne de la colonne A
            For lgLig = 2 To .Range("A65536").End(xlUp).Row
                Worksheets("Feuil2").Range("A" & lgLigWS2).Value = .Cells(lgLig, 1).Value
                Worksheets("Feuil2").Range("B" & lgLigWS2).Value = .Cells(1, lgCol).Value
                Worksheets("Feuil2").Range("C" & lgLigWS2).Value = .Cells(lgLig, lgCol).Value
                lgLigWS2 = lgLigWS2 + 1
            Next lgLig
        Next lgCol
    End With
End Sub

Pour le modifier, dans Feuil1, tu fais click-droit sur le nom de l'onglet, puis visualiser le code. Ensuite, tu remplaces le code existant par celui ci-dessus.

A+
 

karsand

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd


Bonjour,
Je viens de tester la nouvelle macro. Elle marche à merveille. Merci beaucoup.

Cordialement

Karsand

"Le savoir est la lumière de l'esprit." Pierre Larousse
 

karsand

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour,
Je viens de tester la nouvelle macro. Elle marche à merveille. Merci beaucoup.

Cordialement

Karsand

"Le savoir est la lumière de l'esprit." Pierre Larousse
 

varchamb

XLDnaute Nouveau
Re : transformer un tableau simple en une liste à intégrer pour un tcd

Bonjour,
cette macro est formidable et va me faire économiser bien du temps.
Y-aurait-il moyen de lui ajouter un petit quelque chose pour la personnaliser à mon cas. Lorsqu'elle va chercher les valeurs (ce qui correspond à la ligne de code suivant) :
Code:
Worksheets("Feuil2").Range("C" & lgLigWS2).Value = .Cells(lgLig, lgCol).Value

j'aimerai qu'elle n'implémente pas les lignes dont la valeur = 0 ds la colonne C.

Un petit exemple (à partir des fichiers exemples précédents)

Merci d'avance
 

Pièces jointes

  • Gestion 2.xlsx
    10.2 KB · Affichages: 82

Discussions similaires

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