|
|
|
|
Bonjour,
Je souhaite écrire du code afin de transformer untableau de type
TRUC1 | BIDULE1 | BIDULE2 | BIDULE3
en
TRUC1 | BIDULE1
TRUC1 | BIDULE2
TRUC1 | BIDULE3
J'ai compris qu'il fallair que je parcours ma ligne et que tant que je ne rencontre pas une cellule vide, je dois insérer une nouvelle ligne et couper coller les valeurs qui vont bien.
Question : comment faire la boucle de parcours de la ligne?
Un truc genre FOR i=A TO Z mais comment l'incrémenter quand c'est des lettres?
Merci beaucoup pour l'aide que vous pourrez m'apporter.
**Enigmatoile**
Bonjour,
Sub Transpose()
Const FleAjout = "Résultats"
Dim Valeur As Variant, Colonne As Long, Boucle As Long
Dim Feuille As String
Valeur = ActiveCell.Offset(0, 0).Value
Colonne = ActiveCell.End(xlToRight).Column
Feuille = ActiveSheet.Name
Worksheets.Add.Name = FleAjout
For Boucle = 2 To Colonne
ActiveCell.Offset(0, 0).Value = Valeur
ActiveCell.Offset(0, 1).Value = Sheets(Feuille).Cells(1, Boucle).Value
ActiveCell.Offset(1, 0).Select
Next Boucle
Sheets(Feuille).Select
MsgBox "Visualiser la feuille [ Résultats ]."
End Sub
'
Lupin Configuration: Windows XP Internet Explorer 6.0 |
Bonjour,
Sub TransposeMultiLignes()
Const FleAjout = "Résultats"
Dim Valeur As Variant, Colonne As Long, Boucle As Long
Dim Compteur As Long, Ligne As Long
Dim Feuille As String
Feuille = ActiveSheet.Name
Ligne = ActiveCell.Offset(0, 0).End(xlDown).Row
Worksheets.Add.Name = FleAjout
For Compteur = 1 To Ligne
Sheets(Feuille).Select
Valeur = ActiveCell.Offset(Compteur - 1, 0).Value
Colonne = ActiveCell.Offset(Compteur - 1, 0).End(xlToRight).Column
Sheets(FleAjout).Select
For Boucle = 2 To Colonne
ActiveCell.Offset(0, 0).Value = Valeur
ActiveCell.Offset(0, 1).Value = Sheets(Feuille).Cells(Compteur, Boucle).Value
ActiveCell.Offset(1, 0).Select
Next Boucle
Sheets(Feuille).Select
Next Compteur
Sheets(Feuille).Select
MsgBox "Visualiser la feuille [ Résultats ]."
End Sub
'
Lupin Configuration: Windows XP Internet Explorer 6.0 |