Fichier CSV, ligne unique qui se présente sur deux

Bonjour à tous,

J'ai un fichier csv que je voudrais utiliser sur Excel mais lorsque j'utilise l'outil données et convertir je me rends compte que les lignes sont réparties sur deux différentes (ligne 51 et 52 par exemple devraient être une seule et même ligne).

Ma question est donc comment se fait-il que ceci arrive et comment y remédier c'est-à-dire nettoyer le dataset pour avoir tout en une ligne.

Je vous remercie d'avance pour votre aide

Bonjour Nico, bonjour le forum,

Pas sûr que ce soit la solution à ton problème mais le code ci-dessous va copier la seconde ligne dans la ligne au-dessus, puis supprimer la ligne inutile :

Sub Macro1()
Dim o As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set o = Worksheets(1) 'définit l'onglet O (le premier du classeur)
DL = o.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onget O
For I = DL To 2 Step -1 'boucle inversée de la dernière à la seconde
    If Left(o.Cells(I, "A").Value, 1) = "(" Then 'condition : si le premeir caractère de la cellule en colonne A est "("
        'copy la valeur de la cellule et la colle à la fin de la ligne au-dessus avec une virgule avant
        o.Cells(I - 1, "A").Value = o.Cells(I - 1, "A").Value & "," & o.Cells(I, "A").Value
        o.Rows(I).Delete 'supprime la ligne
    End If 'fin de la condition
Next I 'prochaine ligne (au-dessus) de la boucle
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
End Sub

Bonjour tout le monde,

Une solution semblable à celle de ThauThème que je salue au passage.

Tu ouvres le fichier ci-joint, tu y déplaces ta feuille à modifier et tu lances la macro par le bouton en place.

Il serait également envisageable de modifier le code afin que cette macro agisse sur un fichier ouvert parallèlement à l'écran ou sur un fichier à aller choisir dans ton arborescence.

Amicalement.

11base.xlsm (19.11 Ko)

Bonjour ThauThème,

Merci beaucoup pour ton aide ! J'ai essayé de créer la macro mais mon fichier contient 449K lignes. Du coup, j'ai le message d'erreur "erreur 6, Dépassement de capacité". J'ai cherché sur le web une solution et ils conseillent d'utiliser CLng() mais je ne m'y connais pas trop en VBA. Pourrais-tu encore une fois m'aider stp ?

Merci d'avance,

As-tu essayé mon fichier ?

Bonjour Nico, … Yvouille , Thauthème

J'ai ouvert le fichier csv dans un bloc note.

Effectivement la configuration des lignes n'est pas la même à partir de la ligne 51.

On dirait deux fichiers différents qui ont été ajoutés l'un en dessous de l'autre.

L'information supplémentaire est-elle nécessaire ou peut-elle être supprimée ? (sachant que dans la

première partie aucun titre de colonne ne fait référence à ces infos )

pour ne nombre de ligne je suis plutôt à 548.

Bonjour Yvouille et Xmenpl,

Tout d'abord, je vous remercie de vous intéresser à ma problématique !

@Yvouille, je n'avais pas vu votre message avant de répondre à ThauThème, j'ai essayé votre fichier et même problème avec le message d'erreur 6 "Dépassement de capacité". Le fichier de base fait 35 000 ko et contient 449K lignes.

@Xmenpl, oui j'aimerais bien garder l'information, en fait elle correspond à la colonne Georeferenced. Celle-ci me permettrait de conduire des analyses géographiques. Pour le nombres de lignes, j'ai en fait supprimer la plupart car le fichier de base fait 35 000 ko.

La ressource se trouve à l'adresse suivante :

Bonjour le fil, bonjour le forum,

Remplace les lignes :

Dim DL As Integer
Dim I As Integer

par :

Dim DL As Long
Dim I As Long

Alors remplace la ligne

Dim i As Integer

par

Dim i As Long 

C'est bon ça marche ! Merci à tous de m'avoir consacré votre temps et de votre contribution !

Bonjour,

Tu pouvais tout simplement ouvrir ton CSV avec Power Query (Récupérer et transformer).

Sinon, ton lien permet d'importer sous différents formats, dont en fichier CSV pour Excel (Europe).

Cdlt.

Rechercher des sujets similaires à "fichier csv ligne unique qui presente deux"