Créer une nouvelle ligne pour chaque saut de ligne

sebek_2000

XLDnaute Nouveau
Un problème se présente à moi, mon fichier source est un fichier pdf que j'ai converti en xls pour pouvoir bosser dessus. Mais c'est évidemment malaisé: j'ai beaucoup de saut de ligne.

Je connais l'outil conversion pour pouvoir les supprimer mais ce n'est pas ce que je recherche, il faudrait que chaque saut de ligne devienne une ligne.

Pour votre compréhension, ce fichier présente des arrêts de bus (A,B,etc), son code (AMN01, AMNO2, un arrêt de bus étant composé d'au moins deux poteaux d'arrêt un dans chaque sens ) et les lignes de bus qui y passent. je souhaiterai donc dissocier les informations à l'échelle de chacun des sauts de lignes des codes arrêt.

Merci de votre aide toujours aussi précieuse.
 

Pièces jointes

  • aide2.xlsx
    10 KB · Affichages: 30
  • aide2.xlsx
    10 KB · Affichages: 31

Sheldor

XLDnaute Occasionnel
Supporter XLD
Re : Créer une nouvelle ligne pour chaque saut de ligne

bonjour
à adapter, mais voilà une piste



ligne_res = 4


For ligne = 4 To 22


texte_C = Cells(ligne, 3)


For j = 1 To Len(texte_C)
If Mid(texte_C, j, 1) = Chr(10) Then ligne_res = ligne_res + 1

Cells(ligne_res, 7) = Cells(ligne_res, 7) & Mid(texte_C, j, 1)


Next j

ligne_res = ligne_res + 1

Next ligne
 

Paf

XLDnaute Barbatruc
Re : Créer une nouvelle ligne pour chaque saut de ligne

Bonjour sebek_2000, nicopec

un essai par macro, si j'ai bien compris:

Code:
Sub sebek_2000()
 Dim TabPoteau, ligne As Long, i As Long

 With Worksheets("page 2")
 For ligne = .Range("A" & .Rows.Count).End(xlUp).Row To 4 Step -1
    TabPoteau = Split(.Cells(ligne, 3), Chr(10))
    .Cells(ligne, 3) = TabPoteau(0)
    For i = UBound(TabPoteau) To LBound(TabPoteau) + 1 Step -1
        .Rows(ligne).Copy
        .Rows(ligne).Insert Shift:=xlDown
        .Cells(1 + ligne, 3) = TabPoteau(i)
        Application.CutCopyMode = False
    Next
 Next ligne
 End With
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 579
Membres
111 207
dernier inscrit
max008