VBA pr glisser intitulé de colonne en ligne
Clarisse35
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Je cherche à obtenir un nouveau tableau sous Excel à partir d'un tableau existant.
Le tableau d'origine serait du type :
CENTRE ACTIVITE JANVIER FEVRIER MARS
Centre 1 Menuiserie 200 300 400
Le résultat que je souhaite obtenir serait d'avoir le même détail avec affichage des montants et des mois correspondant en lignes:
Centre 1 Menuiserie 200 JANVIER
Centre 1 Menuiserie 300 FEVRIER
Centre 1 Menuiserie 400 MARS
Existe t-il un code VBA pour résoudre cette problématique ?
Merci d'avance
Je cherche à obtenir un nouveau tableau sous Excel à partir d'un tableau existant.
Le tableau d'origine serait du type :
CENTRE ACTIVITE JANVIER FEVRIER MARS
Centre 1 Menuiserie 200 300 400
Le résultat que je souhaite obtenir serait d'avoir le même détail avec affichage des montants et des mois correspondant en lignes:
Centre 1 Menuiserie 200 JANVIER
Centre 1 Menuiserie 300 FEVRIER
Centre 1 Menuiserie 400 MARS
Existe t-il un code VBA pour résoudre cette problématique ?
Merci d'avance
3 réponses
-
Bonjour
Il y a une fonction Excel pour mettre la ligne en colonne ou inversément ..
Sélectionnez la ligne à modifier.
Copy.
Allez sur la 1ére cellule de votre future colonne.
Paste Special .. Transpose ( à cocher dans le bas du copiage spécial)
voilà . -
bonjour,
c'est un peu plus compliqué
en VBA
les lignes 1 sont les intitulés (CENTRE ACTIVITE ...)
le tableau initial en feuille 1 à partir de la ligne 2
le tableau resultat en feuille 2 a partir de la ligne 2Option Explicit Private Sub CommandButton1_Click() Dim lif1 As Long, lif2 As Long, cof1 As Long Dim Centre As String, Activite As String Dim score As Long, mois As String Dim nblif1 As Long nblif1 = Sheets(1).Range("A65536").End(xlUp).Row lif2 = 1 For lif1 = 2 To nblif1 Centre = Sheets(1).Cells(lif1, 1).Value Activite = Sheets(1).Cells(lif1, 2).Value For cof1 = 3 To 14 score = Sheets(1).Cells(lif1, cof1).Value mois = Sheets(1).Cells(1, cof1).Value lif2 = lif2 + 1 Sheets(2).Cells(lif2, 1).Value = Centre Sheets(2).Cells(lif2, 2).Value = Activite Sheets(2).Cells(lif2, 3).Value = score Sheets(2).Cells(lif2, 4).Value = mois Next cof1 Next lif1 End Sub
est ce que ça repond a la question?
voir fichier exemple
http://www.cijoint.fr/cjlink.php?file=cj201101/cijIYndZt2.xls
bonne suite -
désolée .. cela dépasse mes connaissances ..
Quelqu'un d'autre peut l'aider ?