Macro pour enregistrer plusieurs onglets en csv

RALLY

XLDnaute Nouveau
Bonjour,

Je sollicite votre aide de nouveau pour la mise en place d'une macro.

En effet, j'ai un fichier Excel avec plusieurs onglets. Je cherche a mettre en place une macro me permettant d'enregistrer et de générer chaque onglet (lot1, lot2,etc..) en format CSV (separateur ; ) Une fois ces fichiers généré il faudra ensuite les concatener pour construire un seul gros fichier (Fichier all) contenant tous les fichiers csv précédemment créés.

en vous remerciant par avance pour votre aide.
 

Efgé

XLDnaute Barbatruc
Re : Macro pour enregistrer plusieurs onglets en csv

Bonjour RALLY,
Regarde si cet exemple peut te servir de base.
Cordialement
 

Pièces jointes

  • EXEMPLE_Feuilles_vers_csv.xls
    36 KB · Affichages: 226
  • EXEMPLE_Feuilles_vers_csv.xls
    36 KB · Affichages: 210
  • EXEMPLE_Feuilles_vers_csv.xls
    36 KB · Affichages: 218

RALLY

XLDnaute Nouveau
Re : Macro pour enregistrer plusieurs onglets en csv

Bonjour,

Merci pour votre réponse. Toutefois, n'étant pas au niveau en ce qui concerne les lignes de commandes, pourriez vous m'expliquer les étapes du code et comment je peux l'utiliser a ma problématique?

En vous remerciant par avance.
 

Efgé

XLDnaute Barbatruc
Re : Macro pour enregistrer plusieurs onglets en csv

Re
Le plus important serai de mettre un exemple du fichier à traiter, annonyme, avec juste quelques données, pour que l'on puisse voir comment adapter le code.
Après je pourrrai commenter les lignes (bien que si tu as regardé le code dans le module (Alt + F11), il est déja expliqué en ce qui concerne le paramétrage)
A te re lire demain matin si personne ne reprend le fil d'ici là.
Cordialement
 

RALLY

XLDnaute Nouveau
Re : Macro pour enregistrer plusieurs onglets en csv

Re
Le plus important serai de mettre un exemple du fichier à traiter, annonyme, avec juste quelques données, pour que l'on puisse voir comment adapter le code.
Après je pourrrai commenter les lignes (bien que si tu as regardé le code dans le module (Alt + F11), il est déja expliqué en ce qui concerne le paramétrage)
A te re lire demain matin si personne ne reprend le fil d'ici là.
Cordialement

Bonjour,

Ci-joint un exemple de fichier.

Comme evoqué, le fichier source comporte plusieurs onglets avec les 3 mêmes colonnes. L'idée est d'enregistrer chaque onglet separément en csv avec un separateur (; ) entre chaque colonne

ColonneA;ColonneB;ColonneC

Ensuite essayer de concatener tous les fichiers générés en un seul gros fichier csv.

En vous remerciant par avance,
 

Pièces jointes

  • Exemple fichier.xlsx
    197.7 KB · Affichages: 90
  • Exemple fichier.xlsx
    197.7 KB · Affichages: 87
  • Exemple fichier.xlsx
    197.7 KB · Affichages: 93

DoubleZero

XLDnaute Barbatruc
Re : Macro pour enregistrer plusieurs onglets en csv

Bonjour, RALLY, Efgé :), le Forum,

Voici le fichier en .xls.

A bientôt :):) !
 

Pièces jointes

  • Exemple fichier.zip
    136.7 KB · Affichages: 73
  • Exemple fichier.zip
    136.7 KB · Affichages: 69
  • Exemple fichier.zip
    136.7 KB · Affichages: 74

Efgé

XLDnaute Barbatruc
Re : Macro pour enregistrer plusieurs onglets en csv

Re
Une proposition. Chaque ligne de code est commentée.
/ ! \ Les fichiers sont à l'heure actuelle créés dans D:\temp. Il faut donc que le dossier existe.
Cordialement
P.S J'ai supprimé des lignes dans l'exemple pour alléger le fichier.
 

Pièces jointes

  • Exemple fichier(2).xls
    88 KB · Affichages: 163

RALLY

XLDnaute Nouveau
Re : Macro pour enregistrer plusieurs onglets en csv

re,

Je viens de tester la macro envoyée. Je l'ai inséré dans mon fichier source et la génération des fichiers avec le fichier concaténé s'est déroulée avec succès.

Le volume de données étant trop important je n'ai pas vérifié ligne par ligne si tout est présent mais dans la démarche j'obtiens bien ce que je voulais au départ.

Merci beaucoup pour votre aide
 

RALLY

XLDnaute Nouveau
Re : Macro pour enregistrer plusieurs onglets en csv

J'ai vérifié les données et malheureusement j'ai du retirer la mention [Resolu ] dans mon message. Il s'avère que les données comportent des decimales.

Comment puis-je faire pour arrondir les données en entiers, dans le fichier source comportant les differents onglets, avant de faire al manip de conversion qui marche très bien

En vous remerciant par avance.
 

Efgé

XLDnaute Barbatruc
Re : Macro pour enregistrer plusieurs onglets en csv

Re
Si j'ai bien compris et en partant du principe qu'il n'y a que des valeurs numériques dans les trois premières colonnes
Utilise ceci pour définir la plage de données:
Code:
 'Déclaration de la valeur du tableau
    Plg = F.Range(F.Cells(1, 1), F.Cells(Rows.Count, 1).End(xlUp).Offset(0, 2)).Value
Et ça pour arrondir les chiffres :
Code:
 'Le message est ègal au message plus la valeur arrondie de la cellule
 'en ligne i colonne j plus le séparateur ";"
            Mes = Mes & Round(Plg(i, j)) & Separ
Cordialement
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
306
Réponses
12
Affichages
217