Conversion csv en xml

  • Initiateur de la discussion Initiateur de la discussion ledaf
  • 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 !

ledaf

XLDnaute Junior
Bonjour à tous,

Bon je vais essayer d'être clair car je ne peux pas vous envoyer mes fichiers étant donné qu'ils sont trop volumineux.
Voilà j'ai 3 fichiers:
Le 1er: "mise_en_forme"
Le 2ème: "3ème trimestre 2009"
Le 3ème: "facture_SFR"

Mon but est de convertir les données csv du 3ème fichier vers le 2ème, tout ça grâce aux macro du 1er.
Mon pb se situe sur le fait que le 3ème fichier contient plus de 35000 lignes, or lors de la conversion, il prend en compte que 32767 lignes.

Comment faire pour prendre tout en compte?

Voici la fonction que j'utilise pour la conversion:

Code:
TransposeImportTextFile TextBoxsourcecvs.Text, ";", "SFR"

En vous remerciant.
 
Re : Conversion csv en xml

Bonjour ledaf,

peut être en lisant le fichier texte ligne par ligne.
Code à adapter et non testé

Code:
Sub lecture()
Dim Maligne
Dim splité

Open "c:\test.csv" For Input As #1 ' ouverture du fichier

Do While Not EOF(1) ' boucle jusqu'à fin de fichier.
   Input #1, Maligne ' lecture de la ligne et stockage dans la variable
   splité = Split(Maligne, ";") 'éclatement données lues avec séparateur

   For i = 0 To UBound(splité) 'écriture dans une feuille excel
      ActiveSheet.Cells(ActiveSheet.Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row + 1, i + 1) = splité(i)
   Next i

Loop

Close #1 'fermeture du fichier

End Sub
 
Re : Conversion csv en xml

Re,

Après test sur mon code je dirais :
Le nom du fichier et son chemin est bien sur à adapter dans la macro


Code:
Sub lecture()
Dim Maligne
Dim splité

Application.ScreenUpdating = False
ActiveSheet.Cells.ClearContents

Open "C:\classeur1.csv" For Input As #1 ' ouverture du fichier
temp = 0

Do While Not EOF(1) ' boucle jusqu'à fin de fichier.
   Input #1, Maligne ' lecture de la ligne et stockage dans la variable
   splité = Split(Maligne, ";") 'éclatement données lues avec séparateur
   temp = temp + 1
   'écriture dans une feuille excel
   For i = 0 To UBound(splité) 'écriture dans une feuille excel
        ActiveSheet.Cells(temp, i + 1) = splité(i)
   Next i
    
Loop

Close #1 'fermeture du fichier

Application.ScreenUpdating = True
End Sub
 
Re : Conversion csv en xml

Ci joint l'adresse où se trouve les docs:
Cijoint.fr - Service gratuit de dépôt de fichiers

Dans le fichier "mise en forme" penser à modifier le chemin où se trouve le fichier "2ème trimestre 2009", afin que la macro fonctionne.
Le 3ème fichier correspond à la facture SFR du moi de juin, donc appartenant au second trimestre.

Je te remercie.
 
Re : Conversion csv en xml

Re,

ci-joint le fichier de la macro modifié.
J'ai utilisé la fonction Données > Données externes > importer ... pour récupérer tes données de ton fichier csv.

test voir si tout fonctionne car n'ayant pas modifié les chemins vers les autres fichiers j'ai des erreurs au moment du remplissage du fichier 2° trimestre.

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Re : Conversion csv en xml

De rien.

En passant, comme l'import des données est un peu long tu devrais ajouter des infos sur l'exécution.
application.statusbar = "Traitement en cours ..." -> Ca affiche le message en bas à gauche dans Excel

En fin de traitement un application.statusbar ="" efface le message
 
- 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
20
Affichages
3 K
Réponses
1
Affichages
759
Retour