Retour a la ligne intempestif

Résolu
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   -  
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   -
bonjour,
Je rencontre un problème lors de l'intégration d'un fichier CSV dans Excel en VBA.
Je m'explique dans les camps commentaires je me retrouve avec des retour a la ligne en plein milieu d'une phrase.Quand je regarde le fichier CSV avec notepad + je vois les retours à la linge (les fameux LF) donc j ai crée un bout de code pour supprimer les LF mais lors des importations suivantes le code ne fonctionne plus (je n 'ai pas de message d'erreur) et je ne sait pas pourquoi

un exemple du fichier CSV https://www.cjoint.com/?DFmnFUiE7LB

et le code de suppression

Private Sub remplacement_retour_ligne()
'
' remplacement_retour_ligne Macro
'
'
On Error Resume Next
Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub


en attente de vos reponces

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Vous le mettez ou ce bout de code ????
0
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
bonjour,

je le mets à la suite du code de traitement des données (mise à jour et ajout des données)
après je faits une mise en forme des données (police , taille , encadrement,....)
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Comment importez-vous le fichier csv et ce fichier a ete fait avec quoi ????
0
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
le fichier vient d'une extraction d'un programme qui me fournit le fichier csv
et je l'ouvre avec le code

private Sub OuvreFichiers()
Dim NomFichier As Variant, Filtre As String, cmpt As Long, fich() As String
Filtre = "Tous les fichiers(*.CSV),*.CSV"
NomFichier = Application.GetOpenFilename(Filtre, 1, "Ouvrir", , True)
If IsArray(NomFichier) Then
For cmpt = LBound(NomFichier) To UBound(NomFichier)
Application.Workbooks.Open NomFichier(cmpt), Local:=True
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 4), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 4), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 4), Array(44, 1), Array(45, 1), _
Array(46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), _
Array(52, 1), Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), _
Array(58, 1), Array(59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), _
Array(64, 1), Array(65, 1), Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), _
Array(70, 1), Array(71, 1), Array(72, 1), Array(73, 1), Array(74, 1), Array(75, 1)), _
TrailingMinusNumbers:=True

Next cmpt
End If
Nom = ActiveWorkbook.Name
End Sub
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Avec votre programme, le fichier semble s'ouvrir correctement. Il y a de colonnes ou il y a des retours a la ligne automatique, mais je ne vois pas ce qui vous derange, ne sachant pas ce que vous voulez comme format
0
tobas Messages postés 210 Date d'inscription   Statut Membre Dernière intervention   24
 
Re,
les retour à la linge coupe des phrases en plein milieu et du coup la phrase est moins lisible
exemple:

"Dans le PCOM, la feuille d'astreinte de la semaine en cours était bien (retour ligne)
présente, mais également celle de la semaine précédente. Celà peut engendrer un (retour ligne)
risque d'erreur (retour ligne)"
donc dans la logique il faudrait supprimer les retour à la ligne qui se trouve dans les guillemets
0