Macro transpose
Résolu
RDV18H
Messages postés
5
Statut
Membre
-
RDV18H Messages postés 5 Statut Membre -
RDV18H Messages postés 5 Statut Membre -
Bonjour,
Je n'arrive pas à réaliser une macro qui transpose en ligne en colonne
Mon fichier d'origine se présente ainsi :
Ligne 1 : intitulés des colonnes ident var1 var2 var3 ... var10
Le résultat que je cherche à obtenir est le suivant (tableau à 2 colonnes seulement)
Ligne 1 : Ident Var (intitulés des 2 colonnes)
Ligne2 : Ident1 var1
Ligne3 : ident1 var2
Ligne4 : Ident1 var3
Etc
Ligne12 : Ident2 var1 ....
J'ai fait une petite macro pour insérer des lignes blanches ==> ça marche
ensuite, je bloque
Mon fichier de départ
277193 99 99 99 99 15 21 99 99 24 25
Ce que je veux obtenir
277193 99
99
99
99
15
21
99
99
24
25
Quelqu'un pourrait-il m'aider ?
Merci beaucoup
Je n'arrive pas à réaliser une macro qui transpose en ligne en colonne
Mon fichier d'origine se présente ainsi :
Ligne 1 : intitulés des colonnes ident var1 var2 var3 ... var10
Le résultat que je cherche à obtenir est le suivant (tableau à 2 colonnes seulement)
Ligne 1 : Ident Var (intitulés des 2 colonnes)
Ligne2 : Ident1 var1
Ligne3 : ident1 var2
Ligne4 : Ident1 var3
Etc
Ligne12 : Ident2 var1 ....
J'ai fait une petite macro pour insérer des lignes blanches ==> ça marche
ensuite, je bloque
Mon fichier de départ
277193 99 99 99 99 15 21 99 99 24 25
Ce que je veux obtenir
277193 99
99
99
99
15
21
99
99
24
25
Quelqu'un pourrait-il m'aider ?
Merci beaucoup
5 réponses
-
En positionnant ta chaine en cellule A1 utilise la macro suivante :
Sub test()
X = 2
Reste = Cells(1, 1)
Suite:
Coupure = InStr(Reste, " ")
If Coupure <> 0 Then
Info = Mid(Reste, 1, Coupure - 1)
Cells(X, 1) = Info
Reste = Mid(Reste, Coupure + 1)
X = X + 1
GoTo Suite
End If
End Sub
Seule le dernier terme ne sera pas positionné. -
Merci à tous les deux.
Effectivement, la solution que tu proposes WeaponEDGE ne fonctionne pas.
Comment faut-il que j'utilise split
Encore merci -
-
-
Ce code "transpose" tes données de la feuil1 à la feuil2.
Tu peux adapter le nom des feuilles dans la macro :
Sub TransposeEn2Col() Dim i As Byte Dim ident As String Dim Cel As Range, Plage As Range With Sheets("Feuil1") 'A ADAPTER Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With For Each Cel In Plage With Sheets("Feuil2") 'A ADAPTER ident = Cel.Value For i = 1 To 10 .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0) = ident .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0) = Sheets("Feuil1").Cells(Cel.Row, i + 1).Value 'A ADAPTER Next End With Next End Sub
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -