Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Transposition des lignes en une seule colonne avec VBA

Yjjou

XLDnaute Nouveau
Bonjour, je suis débutant en VBA. J'ai un tableau de 90x10 et j'aimerais le regrouper en une seule colonne d'où les lignes deviennent des colonnes respectivement dès la première ligne..de facon à avoir un tableau 900x1.
PS: Je vous ai joint mon fichier excel.
Merci d'avance.
 

Pièces jointes

  • Dose.xlsx
    13.2 KB · Affichages: 12
Solution
Bonsoir @Yjjou et bienvenur sur XLD

Placez vous sur la feuille avec les données à redistribuer puis exécuter la macro EnUneCol().
Le résultat est mis en colonne G

VB:
Sub EnUneCol()
Dim x, s
   Application.ScreenUpdating = False
   Columns("g:g").Clear: Range("G1") = "Résultat"
   For Each x In Range("a1").Resize(Cells(Rows.Count, "a").End(xlUp).Row).Cells
      If x <> "" Then
         s = Split(Application.Trim(x))
         Cells(Rows.Count, "g").End(xlUp).Offset(1).Resize(UBound(s) + 1) = Application.Transpose(s)
      End If
   Next x
End Sub

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Yjjou et bienvenur sur XLD

Placez vous sur la feuille avec les données à redistribuer puis exécuter la macro EnUneCol().
Le résultat est mis en colonne G

VB:
Sub EnUneCol()
Dim x, s
   Application.ScreenUpdating = False
   Columns("g:g").Clear: Range("G1") = "Résultat"
   For Each x In Range("a1").Resize(Cells(Rows.Count, "a").End(xlUp).Row).Cells
      If x <> "" Then
         s = Split(Application.Trim(x))
         Cells(Rows.Count, "g").End(xlUp).Offset(1).Resize(UBound(s) + 1) = Application.Transpose(s)
      End If
   Next x
End Sub
 

Pièces jointes

  • Yjjou- Dose- v1.xlsm
    28.1 KB · Affichages: 18
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…