Import CSV avec caractère LF dans une cellule

Bonjour :)

D'ordinaire j'utilise Workbooks.Open pour charger un fichier Excel et transférer les données d'un des onglet vers un onglet de mon classeur d'appel

La je veux faire la même chose avec un CSV mais le soucis c'est les sauts de lignes

j'utilise :

Workbooks.OpenText Filename:=sFichierAvecCheminImportOrigine, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, Semicolon:=True

Chaque champ est séparé par un ; ==> OK

Chaque champ est entouré par un " ==> OK

Un saut de ligne avec LF ==> OK

Certains champs ont plusieurs ligne ==> KO

voici ce que j'ai ds mon fichier CSV :

"valeur champ n ligne 1";"1ère ligne de début du champ suivant n+1 ligne 1";"valeur champ n+2 ligne 1"

"valeur champ n ligne 2";"1ère ligne de début du champ suivant n+1 ligne 2LF

2ème ligne du champ suivant n+1 ligne 2tLF

3ème ligne du champ suivant n+1 ligne 2tLF";"valeur champ n+2 ligne 2"
"valeur champ n ligne 3";"1ère ligne de début du champ suivant n+1 ligne 3";"valeur champ n+2 ligne 3"

avec des valeurs bidons ça donne ça:
"popo";"toto""zozo"LF
"papa";"tataLF
raraLF
lala";"zaza"LF
"pepe";"tete";"zeze"LF

Comment faire pour que Excel interprète pas les LF au sein d'une cellule comme une nouvelle ligne mais comme un saut de ligne à l'intérieur d'une cellule seulement ?

Bonjour et bienvenue,
Merci de préciser la version Excel utilisée et de joindre un fichier.
Ceci pour une aide adaptée du forum.
Cdlt.

Par contre si j'ouvre le fichier CSV depuis l'explorateur Excel interprète correctement le fichier et les champs en multiligne reste bien en multiligne dans Excel

Mais si je l'ouvre depuis Excel, il me demande comment ouvrir ce SCV et là les champs multilignes sont interprété comme un nouvel enregistrement à chaque saut de ligne

C'est quoi les paramètres d'ouverture d'Excel des CSV depuis l'explorateur ?

c'est un vbLF ou un vbCRLF au bout de ces lignes

pouvez-vous nous montrer 2 lignes correctes et une ligne fausse (avec des données anonymisées)

2 lignes normales

1ligne avec un saut de ligne sur une des colonne

1 ligne normale

re,

là, je n'ai pas une réponse, désolé. Peut-être en PQ ?

Bonjour à tous !

je n'ai pas une réponse, désolé. Peut-être en PQ ?

La chose devrait être possible.

Mais comme le demandeur n'a pas la courtoisie de répondre à Jean-Eric et de nous informer sur la nature de son Excel, je pense qu'il préfère "patauger" dans sa problématique....

Le fichier en exemple est caractéristique de ma problématique je ne peux fournir un vrai fichier de ma société ...

Et tous les sauts de ligne sont des LF

Bonjour à tous !

Que ne comprenez-vous pas dans la demande "Merci de préciser la version Excel utilisée" ?

365 App for business Version 2211 build 15831

Bonjour à tous !

Merci de prendre en considération les règles de courtoisie en vigueur dans le forum.....

Par ailleurs, l'information concernant votre produit Excel, est à indiquerdans votre profil afin d'être reportée automatiquement lors de vos messages ultérieurs.

Je vous livre une proposition Power Query.

Mettre à jour le chemin de votre fichier CSV puis, via le menu, "Actualiser tout".

La lecture du fichier CSV retourne une colonne ("Column1"). Sans usage particulier, celle-ci peut être supprimée.

Merci je vais regardé

J'avais trouvé la solution d'utiliser le fichier CSV comme base de données mais le format ne me plaisait pas trop car je voulais surtout tout faire par vba

Bonjour à tous de nouveau !

Je vous remercie pour la modification apportée à votre profil. Une dernière précision : ce qui importe c'est Excel 365 ! Ainsi que votre environnement (PC ou MAC).

Si vous recherchez uniquement une solution VBA à votre besoin, je ne suis hélas pas la bonne personne....

Mais il existe des spécialistes sur le forum...

@JFL, moi, je connais VBA mais PQ ...

Je le comprends quand je lis la solution, mais je ne suis pas capable à le reproduire. Pour cette solution, je ne le comprends même pas, comment avez-vous fait pour ajouter la 4ième ligne au bout de la 3ième ligne ?

Bonsoir à tous !

Je le comprends quand je lis la solution, mais je ne suis pas capable à le reproduire. Pour cette solution, je ne le comprends même pas, comment avez-vous fait pour ajouter la 4ième ligne au bout de la 3ième ligne ?

Moi ? Rien.....

Toute la magie est dans la puissance des connecteurs que propose Power Query.

La requête qui vous interpelle tant est d'une extrême simplicité. Deux étapes. Ouverture/lecture du fichier puis réaffectation de la première ligne en en-têtes de champs. C'est tout.

Simplement merveilleux.

un premier essai

Rechercher des sujets similaires à "import csv caractere"