VBA Excel Remplacer retour chariot par saut cellule

VBA Excel Remplacer retour chariot par saut cellule - VB/VBA/VBS - Programmation

Marsh Posté le 18-02-2011 à 15:31:15    

Bonjour, j'ai dans une cellule excel un texte avec des retours à la ligne.
Je souhaiterais avec VBA recopier chaque ligne de texte dans une cellule distincte.
Quelqu'un sait-il comment faire ?
J'ai commencé avec ça mais je m'emmèle les pinceaux avec la boucle car le compteur i doit être remis à 1 après que ma chaîne de charactère soit coupée.
 

Code :
  1. Sub formating()
  2. Dim c As String
  3. Dim str As String
  4. str = Worksheets("Download" ).Cells(1, 1)
  5. str = Right(str, Len(str) - 4)
  6. j = 1
  7. For i = 1 To Len(str)
  8.     c = Mid(str, i, 1)
  9.     If c = Chr(10) Then
  10.         Worksheets("User" ).Cells(j, 1) = Left(str, i - 1)
  11.         j = j + 1
  12.         str = Right(str, Len(str) - Len(Left(str, i - 1)))
  13. '    ElseIf c = Chr(13) Then
  14. '        Worksheets("User" ).Cells(j, 1) = Left(str, i - 1)
  15. '        j = j + 1
  16. '        str = Right(str, Len(str) - Len(Left(str, i - 1)))
  17.     End If
  18. Next i
  19. End Sub


Merci

Reply

Marsh Posté le 18-02-2011 à 15:31:15   

Reply

Marsh Posté le 18-02-2011 à 19:11:40    

Salut,à mon avis il serait plus simple d'effectuer la manip de reformatage à l'import du fichier
un échnatillon de ce fichier serait appréciable , passer par http://cjoint.com/ ou http://www.cijoint.fr/

Reply

Marsh Posté le 21-02-2011 à 10:22:00    

Bonjour et merci pour ta réponse. Malheureusement, je n'ai pas de fichier d'import. Je lis le contenu d'un mail avec :
 
For Each i In Dossier.Items
    ActiveWorkbook.Worksheets("Download" ).Cells(1, j) = i.body
     j = j + 1
    Next i

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed