VBA Excel : parcours d'une ligne
Résolu
enigmatoile
Messages postés
730
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
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.
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.
A voir également:
- VBA Excel : parcours d'une ligne
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour,
Suggestion :
Lupin
Suggestion :
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
Merci beaucoup Lupin, ton code fonctionne bien :)
Plus qu'à l'améliorer poour qu'il soit capable de traiter plusieurs lignes et pas une seume comme dans l'exemple que j'ai donné, et ça sera nickel, mais ça ça devrait etre à ma portée :)
Plus qu'à l'améliorer poour qu'il soit capable de traiter plusieurs lignes et pas une seume comme dans l'exemple que j'ai donné, et ça sera nickel, mais ça ça devrait etre à ma portée :)
Bonjour,
Autre suggestion :
Lupin
Autre suggestion :
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