XL 2013 générer un fichier csv par lignes de tableau

Seb_ABZ

XLDnaute Nouveau
Bonjour à tous

avant de partir en weekend, j'aurais un petit service à vous demander pour me faciliter la vie.

Ma société utilise un logiciel de gestion de matériel, et aujourd'hui quand un chantier débute et que nous recevons du nouveau matériel, tout est rentré à la main dans le logiciel.
Cette procédure fonctionne quand on a quelques fiches à faire, mais dans mon cas, j'en aurais plusieurs centaines.
Cependant ce logiciel propose une fonction d'importation, mais qui reste contraigante car il faut créer une fiche csv par equipement.
C'est là que j'ai besoin de vos lumières :)

Généralement je recois une liste d'équipements avec toutes les infos nécessaire au format excel. Et j'aimerai une macro pour qu'automatiquement excel me gere un fichier csv pour chaque ligne du tableau.

Mon tableau ressemble à ça (chaque "/" sépare une colonne)
Ref / Description / Fabricant / Type / Chemin dossier
01 / Grue / Liebherr / C100 / C:\01 Grue
02 / Pompe / Bosch / P100 / C:\02 Pompe

et chaque fiche devra ressembler à ça
Ref / 01
Description / Grue
Fabricant / Liebherr
Type / C100

A noter que chaque fichier csv aura le même nom "fiche_bien.csv" mais sera sauvegardé dans un fichier différent selon la colonne "Chemin dossier".

Merci par avance pour votre aide

Seb
 

Lone-wolf

XLDnaute Barbatruc
Re : générer un fichier csv par lignes de tableau

Bonjour à tous
avant de partir en weekend, j'aurais un petit service à vous demander pour me faciliter la vie.
Bonjour Sebastien,

Pour nous tous: avant que nous revenions ce weekend, on aurais un petit service à te demander pour nous faciliter la vie... un fichier joint. ;)
 
Dernière édition:

Seb_ABZ

XLDnaute Nouveau
Re : générer un fichier csv par lignes de tableau

Salut Lonewolf,

je me ferai un plaisir de te faciliter la vie ;)

Je t'envoie un dossier avec un exemple d'à quoi ça devrait ressembler au final, une fois que vous aurez excercé votre amgie...:cool:

Merci
 

Fichiers joints

  • 6.9 Ko Affichages: 17
  • 6.9 Ko Affichages: 24

Efgé

XLDnaute Barbatruc
Re : générer un fichier csv par lignes de tableau

Bonjour Seb_ABZ, Lone-wolf
Comme j'étais parti, je livre... :D

VB:
Sub ExportCSV()
Dim i&, Num&
Dim TData As Variant
Dim Chem$, Fic$, TmpTxtRw$, Separ$


Separ = ";"
Fic = "fiche_bien.csv" 'A adapter


With Feuil1 'A adapter
    TData = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(3).Row, 5))
End With


For i = 2 To UBound(TData, 1)
    Num = FreeFile
    Chem = Trim(TData(i, 5))
    
    TmpTxtRw = _
    Trim(TData(1, 1)) & Separ & CStr(Trim(TData(i, 1))) & vbNewLine & _
    Trim(TData(1, 2)) & Separ & Trim(TData(i, 2)) & vbNewLine & _
    Trim(TData(1, 3)) & Separ & Trim(TData(i, 3)) & vbNewLine & _
    Trim(TData(1, 4)) & Separ & Trim(TData(i, 4))
    
    If Dir(Chem, vbDirectory) = "" Then MkDir Chem
    Open Chem & "\" & Fic For Output As #Num
    Print #Num, TmpTxtRw
    Close Num
Next i
End Sub
Cordialement
 
Dernière édition:

Seb_ABZ

XLDnaute Nouveau
Re : générer un fichier csv par lignes de tableau

ah ouais quand même. Super efficace Efgé!!!!
Merci beaucoup ça marche nickel et ça crée même les dossiers, tu me gâtes là (j'avais trouvé un autre script pour ça).
Je vais bidouiller et voir si ça marche avec une structure plus compliquée (en fait j'aurais plusieurs niveaux de dossiers).

D'ailleurs si je veux utiliser une structure existante de dossiers au lieu de la créer, quelle commande faut-il utiliser stp?

Merci d'avance
 

Efgé

XLDnaute Barbatruc
Re : générer un fichier csv par lignes de tableau

Re
Pour une structure existante, il faut connaitre la règle de l'arboresence.
Si tu méttais un fichier exemple plus proche de la réalité ....
Cordialement
 

Lone-wolf

XLDnaute Barbatruc
Re : générer un fichier csv par lignes de tableau

Si tu méttais un fichier exemple plus proche de la réalité ....
Bonjour Efgé :)

Désolé mais je dois rectifié ta phrase: Si tu méttais un fichier exemple plus proche..... d'XLD ;)

On as les bras longs, mais tout de même... ;)
 

Seb_ABZ

XLDnaute Nouveau
Re : générer un fichier csv par lignes de tableau

Bonjour Efgé,

excuse moi pour la réponse tardive. En fait je n'ai pas d'arborescence particulière, mais imaginons qu'elle existe deja. Et que la colonne "Chemin dossier", indique l'endroit où il faut créer le fichier csv. Que modifierais-tu dans ton script pour y parvenir

Passe un bon weekend.

Seb
 

Efgé

XLDnaute Barbatruc
Re : générer un fichier csv par lignes de tableau

Bonjour Seb_ABZ, le fil, le forum
Sans fichier exemple plus proche de la réalité, nous allons parler dans le vide longtemps.
Cordialement
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas