Convertir un XLS en CSV selon un format voulu via macro

Pouetpouet72

XLDnaute Nouveau
Bonjour à tous,

Je voudrais faire appel à vos connaissances car je suis confronté à un cas qui dépasse LARGEMENT mes "competences" excel.

J'espere qu'une bonne âme charitable pourra resoudre mon souci que voila :

Je souhaite à partir d'un tableau excel faire un export en csv selon un certain format.

Je pense qu'une macro peut en venir à bout mais je ne sais pas comment la faire (De plus je ne souhaite pas passer par une deuxieme feuille pour le traitement mais directement par une macro qui me l'enregistrerai en csv)

Mon tableau se presente de la forme :

Ligne 1 : Contient une cellule dont la fusion de plusieurs correspond au nombre de ligne existante sur la ligne du dessous

Ligne 1 : Contient plusieurs cellules dont la fusion de celle-ci correspond au nombre de ligne existante sur la ligne du dessous lui correspondant

En Gros, ce que je souhaite faire, c'est de la creation de dossier à partir d'un csv exporter depuis excel intepreter ensuite par un vbs.

Ca peut faire peur comme ca mais à le dire est beaucoup plus compliqué qu'à le comprendre visuellement, vous verrez que la chose est bcp plus comprehensible.

C'est pourquoi je vous joint les 2 fichiers, le premier est le tableau sur lequel je rentre des données et le second le resultat d'export en CSV.

Sachant qu'il peu y avoir x niveau, comment ne pas egalement se limiter à une plage de données prédefini ? (je pense a un truc du style "pour chaque cellule qui a du texte tu prend celle du dessus etc...)

En tout cas, je pense que ce ne doit pas être tres compliqué pour celui qui à l'habitude d'utiliser excel autrement que moi :D

Un ENORME merci de l'aide que vous pourrez m'apporter :)

PS : Le deuxieme fichier est en fait un csv et non un xls mais pour le forum j'ai du renommer l'extension...
 

Pièces jointes

  • 1-Tableau.xls
    47.5 KB · Affichages: 138
  • 2-Resultat.xls
    425 bytes · Affichages: 91
Dernière édition:
G

Guest

Guest
Re : Convertir un XLS en CSV selon un format voulu via macro

Bonjour,

Je ne suis pas une "âme charitable" parce que je n'y crois pas(pour 99,9% des cas), mais juste parce que la question m'interessait:
Code:
Sub Creation_Dossiers()
    Dim c As Range
    Dim txt As String
    Dim fic As Integer
    fic = FreeFile()
    Open ThisWorkbook.Path & "\h_pouetpouet72.csv" For Output As #fic
    For Each c In Range("A1").MergeArea.Cells
        txt = ""
        Do While Not IsEmpty(c.MergeArea(1))
            txt = txt & c.MergeArea(1) & ";"
            Set c = c.Offset(1)
        Loop
        Print #fic, Left(txt, Len(txt) - 1)
    Next c
    Close #fic
End Sub

qui nous donne un csv avec:
Code:
Donnees 1;Sous Donnees 2;Sous Sous Donnees 5
Donnees 1;Sous Donnees 2;Sous Sous Donnees 6
Donnees 1;Sous Donnees 2;Sous Sous Donnees 7
Donnees 1;Sous Donnees 3;Sous Sous Donnees 8
Donnees 1;Sous Donnees 3;Sous Sous Donnees 9
Donnees 1;Sous Donnees 3;Sous Sous Donnees 10
Donnees 1;Sous Donnees 4;Sous Sous Donnees 11
Donnees 1;Sous Donnees 4;Sous Sous Donnees 12
Donnees 1;Sous Donnees 4;Sous Sous Donnees 13

A+
 
Dernière modification par un modérateur:

Pouetpouet72

XLDnaute Nouveau
Re : Convertir un XLS en CSV selon un format voulu via macro

OUAHOU SUPER !!!!!!!!!!!!!!!!!!!


Ca marche du feu de dieu, je te remercie mille fois !!!!

Ne voyant pas la chose aussi simple je me suis limité à cette question, cependant si vous le voulez bien, permetez moi de vous presenter mon format d'export final :


Dans un premier temps, je souhaiterais utilisé le genre de (supermegageniale) macro de Hasco et qu'elle s'arrete entre 2 champs de texte predefinie ("Dossiers" et "Utilisateurs") dans la colonne A et qu'elle traite uniquement les cellules entre ces 2 champs a partir de la colonne B et qu'elle exporte en CSV comme le fait la macro.

Dans un deuxieme temps, je souhaiterais qu'ensuite, via une autre macro (ou la meme serait geniale !!!), qu'elle traite les lignes de la colone A enter 2 auters champs predefini ("Utilisateurs" et "Fin" ) en sortir un autre format de texte dans le csv.


En exemple les fichiers joints :

- Le premier fichier correspond a mon tableau general
- Le 2eme au format d'export de ma premiere question (= la macro de Hasco)
- Le 3eme au format d'export de ma 2eme question
- Le 4 eme est egal à l'export ideal s'il est possible (= resultat macro de Hasco +modif de la 2eme question)

Je vous remercie en tout cas pour votre aide précieuse et j'espere ne pas abuser en vous demandant une nouvelle fois un coup de main ;)
 

Pièces jointes

  • Export.zip
    11.5 KB · Affichages: 69
  • Export.zip
    11.5 KB · Affichages: 69
  • Export.zip
    11.5 KB · Affichages: 67
Dernière édition:

Pouetpouet72

XLDnaute Nouveau
Re : Convertir un XLS en CSV selon un format voulu via macro

Pour être plus précis dans ma demande voici une image de mon tableau (image du haut) et du resultat csv que je souhaite obtenir (image du bas) :

Lien supprimé

J'espere que l'un de vous pourra vraiment m'aider et merci à celui qui le fera ;)
 

Pièces jointes

  • 1-Tableau_avec_user.xls
    33 KB · Affichages: 105
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 191
Messages
2 086 051
Membres
103 107
dernier inscrit
Captain NRJ