XL 2019 Remplacer les "," par ";" d'un fichier CSV

  • Initiateur de la discussion Initiateur de la discussion bennp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bennp

XLDnaute Occasionnel
Bonjour à tous,

comme le titre l'indique, remplacer les "," par ";" d'un fichier CSV

le problème c'est que j'ai une colonne "description" qui contient du texte avec des "," je n'arrive donc pas à transformer mon csv en colonnes, quelqu'un aurait une idée svp ?

Dans l'idée, il faudrait que je transforme tous les "," en ";" sauf si les "," se trouvent entre des guillemets

Merci d'avance

Benoit
 

Pièces jointes

Bonjour Bennp,
Je pense qu'on peut le dire en trois coups :
1- Dans fichier txt, Remplacer "," par £ ou tout autre caractère non utilisé.
2- Importez dans XL
3- Remplacez £ par ","
Vérifiez. Il reste quelques résidus comme 22,3km² qui est séparé.
 

Pièces jointes

Bonjour,
Votre fichier csv ville n'a pas une structure csv.
Dans un fichier csv tous les champs d'une donnée sont sur une même ligne séparé par un séparateur.
Son descriptif est en première ligne.
Donc il s'attend à avoir sur une même ligne : order,url,regions,regions-href,villes,villes-href,pages,pages-href,email,adresse,description,horaires,siteweb , ce qui n'est pas le cas.
A chaque ligne correspond une nouvelle donnée.
Dans l'état vous aurez du mal à ré associer plusieurs lignes à une même donnée.
 
J'ai regardé un fichier csv, mise en PJ ( j'ai mis un zip car le format csv n'est pas autorisé par le site )
Si vous ouvrez ce fichier csv avec Notepad ou tout autre logiciel basique de texte, vous verrez que tous les champs d'une donnée sont sur une même ligne. ( ici séparé par ; )
Essayer d'ouvrir votre csv avec Notepad, quelle allure a t-il ? A t-il une ligne par donnée avec tous les champs ou y a t-il plusieurs lignes pour une même donnée ?
( Cette manip permet de différencier une erreur de génération de csv d'une erreur de conversion XL. )
 

Pièces jointes

non il y a bien des retours à la ligne il faudrait restructurer le fichier du coup ? Pas sûr que ce soit possible sans macro, vous en pensez quoi ? Ce qui est sûr c'est qu'il faut changer les "," en ";" sauf quand ça fait parti d'un texte entre guillemet et du coup tout remettre sur une même ligne. chaque ligne doit commencer par "1579"
 
Re Bennp, Bonjour Modeste Geedee,
S'il y a des retours à la ligne dans le csv d'entrée, c'est du coté du producteur du csv qu'il faut regarder.
Il y a peut être une solution simple de ce coté. Car XL n'a fait que interpréter ce qu'il reçoit : Nouvelle ligne = Nouvelle donnée.
 
On peut tout faire par macro. Le problème est de connaitre les règles.
Comme l'émetteur ne respecte pas la norme csv, comment fournira t-il les fichiers demain ?
Pouvez vous envoyez le fichier csv ville.xlsx avec plus de données pour faire un test.
Mais ça va pas être facile car dans la chaine :
Situé à 175 mètres d'altitude, le Ruisseau de Claoué, le Ruisseau de Lourtou, le Ruisseau de Saint-Pierre sont les principaux cours d'eau qui traversent la commune de Launac.
Comment dire à XL que les "," ne sont pas des séparateurs mais des virgules ? 😡
Un autre exemple significatif. Ligne 3 :
Rue du Parc 31330 LAUNAC,Launac est un village français, situé dans le département de la Haute-Garonne et la région de l'Occitanie
Si on décompose :
Rue du Parc 31330 LAUNAC, la virgule est un séparateur.
Launac est un village français, la virgule est ... une virgule.

Ne serait il pas possible de demander au producteur d'utiliser le ; comme séparateur.
Si le ; est unique et séparateur alors en VBA on peut s'en sortir puisque les premiers champs commencent toujours par 1579.
 
Dernière édition:
Une solution avec de l'huile de coude:
1- Ouvrir le fichier csv avec Notepad.
2- Changer tous les "," par ";" avec Remplacer par
3- Sur la première ligne changez les , par ; ( vous obtenez le csv qui est dans le zip en PJ )
4- Enregistrer
5- Sous XL ouvrez le csv. ( vous obtenez le xlsx qui est en PJ )
Cela suppose que dans les descriptifs il n'y ait jamais de points virgule.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
755
Retour