Export plage excel vers csv

Résolu/Fermé
Gardeboue Messages postés 49 Date d'inscription mardi 9 mai 2017 Statut Membre Dernière intervention 7 janvier 2019 - Modifié le 2 janv. 2018 à 23:54
 Gardeboue - 5 janv. 2018 à 11:10
Bien le bonjour,

Je dois consolider des plages de données issues de plusieurs fichiers xls vers un fichier csv.
Voici mon bout de code partiel:
Fd étant le chemin complet de mon fichier csv
Range("C2:D8929").Select
Set Plage = Selection
Open Fd For Append As #1
    For Ligne = 1 To Plage.Rows.Count
    For Colonne = 1 To Plage.Columns.Count
          If strChaine <> "" Then strChaine = strChaine & ";"
        strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
    Next Colonne
    Print #1, strChaine
    strChaine = ""
Next Ligne
Close #1


Bon jusque là çà roule sauf que chaque fois que je lance la macro pour ajouter une nouvelle plage au csv elle vient se mettre à la ligne suivante et ma volonté serait de repartir non pas à la ligne suivante mais à la colonne suivante.
En fait j'aimerais pouvoir indiquer à partir de quelle colonne commencer l'exportation voir même une cellule de départ.
J'ai bien vu qu'il y avait la fonction Tab à mettre dans la ligne Print pour indiquer une colonne de départ exemple 5ème colonne: comme ceci (Print #1, Tab(5), strChaine) mais çà gaz pas.

J'espère avoir été assez clair
J'ai passé un paquet de temps à chercher sans résultat
Merci à tous
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 janv. 2018 à 08:14
Bonjour,

mais à la colonne suivante.
De la premiere ligne?? Tout en sachant qu'il n'y a pas de colonne dans un fichier CSV!!!!!
Vous faites ca a l'ancienne!!
0
Gardeboue Messages postés 49 Date d'inscription mardi 9 mai 2017 Statut Membre Dernière intervention 7 janvier 2019
3 janv. 2018 à 08:39
Bonjour,

un csv type texte non il n'y a pas de colonne mais un csv type excel si, avec le code que j'utilise je recré chaque cellule de ma source excel dans une cellule du fichier csv. dans mon cas je génère 8928 lignes sur 2 colonnes sans séparateurs.
Et pour répondre: pour la deuxième implémentation oui je désire repartir de la cellule C2 et non de la cellule A8930 comme c'est le cas actuellement (Il y a une ligne de titre).
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 janv. 2018 à 10:38
Re,

un csv type excel si
Un CSV et un fichier texte, ensuite avec le logiciel d'ouverture, il s'affiche au format du dit logiciel.

Si vous continuez avec votre code, il vous faut relire chaque enregistrement en ajoutant a la suite vos deux cellules sans oublier le ";" et vous enregistrez dans un autre ficher autant de fois que vous avez de plages a ajouter. Normalement avec deux fichiers utilises en alternance ca marche

En faisant une preparation type Excel de vos plages cellules, serait un peu plus simple, mais ca n'engage que moi
0
Gardeboue Messages postés 49 Date d'inscription mardi 9 mai 2017 Statut Membre Dernière intervention 7 janvier 2019
3 janv. 2018 à 14:06
Un CSV et un fichier texte, ensuite avec le logiciel d'ouverture, il s'affiche au format du dit logiciel.

Oui tout à fait c'est ce que je voulais dire mais je me suis mal exprimé dsl.
En fait j'ai déjà toutes mes données en excel mais je voulais concaténer tout ça dans un fichier qui serait plus light, mes fichiers actuel excel font 8Mo et lorsque je doit importer les données issues de plusieurs fichiers et à plusieurs reprises en les ouvrants et fermant même sans les afficher çà demande un temps énorme (fichiers sur serveur).
Je vais effectivement regarder pour mettre les données en forme sous excel et regénéré le csv complétement à chaque fois. Mon but était aussi d'éviter cette phase intermédiaire.
Merci tout de même d'avoir pris le temps de me répondre.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 janv. 2018 à 16:00
Re,
Mon but était aussi d'éviter cette phase intermédiaire.
Oui, mais pas vraiment possible. Par contre pour un gain de temps, vous pouvez lire un fichier Excel sans l'ouvrir
https://silkyroad.developpez.com/VBA/ClasseursFermes/
0
Petite réponse tardive car manque de temps.
Merci du lien je vais voir dans ce sens.
Encore Merci
0