Macro transpose
Résolu
RDV18H
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
RDV18H Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
RDV18H Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Macro transpose
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
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é.
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
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 :
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
Je penses que c'est pas bon ce que tu proposes...
2 choses :
1- si j'ai bien compris, Cells(i, 1) ne contient que l'identifiant, les var sont sur les colonnes B, C, D etc...
2- le goto n'est pas approprié, même dans le cas que tu décris. Il eu mieux valu utiliser Split et boucler après...