Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 09h56   #1
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Par défaut Macro transformation csv en xls

Hello tout le monde!!

Alors voila je ne connais pas grand chose au niveau des macros excel et j'aimerais faire une conversion du format csv au format excel.
Je génére via un code php un doc csv et afin de le rendre plus fonctionnel j'aimerais créer un seul fichier excel avec une mise en forme spécifique et remplacer les données par celle du dernier csv générer.

Je pense que c'est possible mais j'ai besoin de votre aide =)

Merci d'avance =)
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h20   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Bonjour,

Tu as 2 possibilités :
- Soit tu ouvres directement le csv en Excel (pour le code, un petit coup d'enregistreur de macro devrait t'aider, quitte à nous le proposer ensuite pour correction ou amélioration). Le seul problème étant qu'il va prendre les paramètres par défaut d'Excel qui dépendent de l'environnement (Séparateur de colonne, séparateur de décimal, format de date...). C'est sans doute la méthode la plus simple si le format du csv est compatible et que la macro ne sera pas utilisée sur d'autres environnements.
- Soit tu lis les lignes du fichier avec ce tuto. Ensuite tu peux utiliser la fonction Split avec le séparateur de colonnes qui tu maîtrises, tu peux parser les nombres et les dates en maîtrisant leur format. C'est une peux plus compliqué à mettre en place, mais tu maîtrises tout. La fonction recherche de ce forum te donneras de nombreux posts traitant du même problème et qui pourront t'aider.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h48   #3
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
Merci pour ta réponse!
Bah si tu veux je génère des fichiers excel mais en format csv que je ré enregistre dans le bon format après pour une utilisation perso je n'aurais pas creuser plus loin puisque c'est simplement une passerelle pour un publipostage mais étant donné que c'est pour un projet de stage j'ai pas trop le choix si je laisse sa comme ça sa va pas le faire ><' donc au final je me demande si la fusion des 2 documents (le beau et le csv) ne peuvent pas ce fusionner afin de ne faire qu'un.
J'ai commencer a voir ton tuto mais pense tu que sa fonctionne via php puisque c'est écrit que c'est pour vba?
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 12h06   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je n'avais pas compris. Je pensais que tu générais le csv en PHP et qu'ensuite, tu voulais l'intégrer dans Excel.
Je pense qu'il vaut mieux que tu ailles voir sur le forum PHP dans ce cas. Je ne sais pas si on peut piloter un Excel, ça m'étonnerait.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h09   #5
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
d'accord merci je vais essayer

Mais je penser via une macro c'est pas possible d'y arriver?
Je ne connais pas du tout les macros avec excel donc bon je préfère demander l'avis de personnes expérimentés ^^
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h19   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
J'avoue que je ne comprends plus bien si tu veux faire du PHP ou du VBA.
En tout cas, en VBA, les pistes que je t'ai fournies devraient faire l'affaire. Et tu pourrais toujours créer un classeur qui traite tout ça automatiquement à l'ouverture et l'ouvrir simplement via le PHP.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 15h05   #7
Invité régulier
 
Femme Claire
Étudiant
Inscription : janvier 2012
Messages : 33
Détails du profil
Informations personnelles :
Nom : Femme Claire
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2012
Messages : 33
Points : 7
Points : 7
je ré-explique alors ^^

J'ai un projet avec une base de données dériere mon projet doit pouvoir trier les enregistrements en fonction de critéres afin de pouvoir produire un publipostage.
a partir de php je génére un tableau puis le reproduit en format csv. Mon csv s'ouvre dans excel et ce que je voudrais faire c'est qu'une fois mon csv créer je l'envoi directement dans un classeur excel avec une mise en page précise et qu'a chaque export du csv le fichier se met a jour.
Puisque les 2 fichiers se retrouve sur excel je me demander si le fichier que je veux absolument garder avec la mise en forme ne pourrais pas comporter une macro qui permettrait de se mettre a jour.

j'espére avoir été plus claire dans mes explications ^^
rockncaly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 15h31   #8
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Ok.
Tu pourrais créer un fichier Excel qui jouerait un rôle de script. A l'ouverture, il créerait une nouvelle feuille excel, y importerait les données du csv, les mettrait en forme et sauvegarderait ce nouveau fichier avant de se fermer.
Ensuite à partir du PHP, au lieu d'ouvrir le csv, tu le sauves au bon endroit puis tu ouvres ton fichier Excel "script" qui te fait le boulot en VBA.

Si maintenant, tu as besoin d'aide sur ce code VBA, relis mes premières propositions ou donne nous un exemple de format de ton fichier CSV (avec des données bidons bien sûr) et du format que tu voudrais avoir en sortie.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h47.


 
 
 
 
Partenaires

Hébergement Web