trasformation d'un tableau(n,m) en tableau(p,3)

  • Initiateur de la discussion Initiateur de la discussion INE
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

INE

Guest
Bonjour,
je voulais avoir votre aide pour transformer un tableau (n,m) en un tableau (p,3) càd:
input : un tableau de la forme suivante :


wl1 wl2 wl3 ................................ wlm
t1 x11 x12 x13................................ x1m
t2 x21 x22 x23 ................................ x2m
t3 x31 x32 x33 ................................ x3m
.
.
.
tn xn1 xn2 ................................ xnm

output tableau de la forme suivante :
t1 wl1 x11
t1 wl2 x12
t1 wl3 x13
.
.
.
t2 wlm x1m

t2 wl1 x21
t2 wl2 x22
t2 wl3 x23
.
.
.
t2 wlm x2m
.
.
.
tn wl1 xn1
tn wl2 xn2
tn wl3 xn3
.
 
Re : trasformation d'un tableau(n,m) en tableau(p,3)

Bonjour INE et bienvenu sur le forum,
Pour ce genre de demande, il est toujours préférable de fournir un petit fichier exemple sur lequel appuyer les tests.
Une proposition, par macro. Le code est dans le code de la feuille (Clic droit sur l'onglet / Visualiser le code)
VB:
Private Sub CommandButton1_Click()
Dim i&, j&, k&, TData As Variant, TReport()

With Sheets("Feuil1")
    TData = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(3)(1, 7))
End With

ReDim TReport(1 To (UBound(TData, 1) * UBound(TData, 2)), 1 To 3)

For i = LBound(TData, 1) + 1 To UBound(TData, 1)
    For j = LBound(TData, 2) + 1 To UBound(TData, 2)
        k = k + 1
        TReport(k, 1) = TData(i, 1)
        TReport(k, 2) = TData(1, j)
        TReport(k, 3) = TData(i, j)
    Next j
Next i

With Sheets("Feuil2")
    .Columns("A:C").ClearContents
    .Cells(1, 1).Resize(k, UBound(TReport, 2)) = TReport
    .Activate
End With
End Sub
Cordialement
 

Pièces jointes

Re : trasformation d'un tableau(n,m) en tableau(p,3)

merci pour votre aide, mais il y'a un petit problème: quand j'ai essayé d'exécuter le macro, un message d'erreur s'affiche" les macros de ce projet sont désactivé" comment faire pour les activer. merci d'avance
 
Re : trasformation d'un tableau(n,m) en tableau(p,3)

Re
Il faut activer les macros. Je suis sous 2003 donc pour 2007 "de tête" :
Il faut commencer par afficher l'onglet Développeur : Bouton Office / Options Excel / Standart et Afficher l'onglet développeur dans le ruban
Puis dans l'onglet développeur : macro / sécurité / activer les macros (quelque chose comme ça...)
Cordialement
 
Re : trasformation d'un tableau(n,m) en tableau(p,3)

Bonjour le fil, le forum,

Menu Outil/Macro/Sécurité et choisir niveau moyen (Excel 2003).

Par la suite, Excel te demandera ton accord pour l'ouverture de tout fichier contenant des macro.

En espérant que cela dépanne.

Abel.

edit : Oups ! Paf ! Pardon Efgé. Pas vu passer.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour