IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro et fichier .csv


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Par défaut Macro et fichier .csv
    Bonjour à tous,

    Merci déjà d’avoir ouvert mon post !
    J’aurai besoin de votre aide pour récupérer les données d’un fichier .csv et pour les copier à un emplacement spécifique dans un fichier excel.
    La macro doit se trouver dans le fichier excel.
    Le fichier .csv n’est pas statique c’est-à-dire que de nouvelles données peuvent s’ajouter à la ligne mais j’ai besoin de récupérer les données présentes sur la dernière ligne non vide.
    Dans l’exemple joint, la dernière ligne non vide est la ligne 24.
    Il y a 47 données sur cette ligne (séparées par des « virgule »).
    J’aimerai que la donnée 1 (la date) soit copiée dans mon fichier excel en celulle S55 et que les autres valeurs soient copiées comme suit :
    - les 3ème, 8éme, 13ème, 18ème, 23ème, 28éme, 33ème, 38ème et 43ème données soient mises en cellule M20, N20, O20, P20, Q20, R20, S20, T20 et U20
    - les 4ème, 9éme, 14ème, 19ème, 24ème, 29éme, 34ème, 39ème et 44ème données soit mise en cellule M12, N12, O12, P12, Q12, R12, S12, T12 et U12
    - les 5ème, 10éme, 15ème, 20ème, 25ème, 30éme, 35ème, 40ème et 45ème données soit mise en cellule M23, N23, O23, P23, Q23, R23, S23, T23 et U23
    - les 6ème, 11éme, 16ème, 21ème, 26ème, 31éme, 36ème, 41ème et 46ème données soit mise en cellule M22, N22, O22, P22, Q22, R22, S22, T22 et U22
    - les 7ème, 12éme, 17ème, 22ème, 27ème, 32éme, 37ème, 42ème et 47ème données soit mise en cellule M24, N24, O24, P24, Q24, R24, S24, T24 et U24

    J’espère que c’est possible …

    Merci à tous
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Bon ... un fichier CSV s'ouvre directement dans excel surtout si il fait moins de 1 million de ligne (ce qui semble le cas)

    ensuite prend l'assitant macro et fait tes déplacements de colonne (il va te faire la macro automatiquement)

    ensuite reviens nous voir et poste le code obtenu et tes difficultés et/ou questions et tu auras des réponses

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Pour ouvrir ton CSV, n'utilise pas Open (ça cause des problèmes entre les notations francophones et anglosaxones) mais OpenText qui te permet de mieux maitriser ton import, entre autre en indiquant le séparateur de données et la nature de chaque champ.
    https://msdn.microsoft.com/fr-fr/vba...t-method-excel

    Une fois ton fichier ouvert, ça devient un classeur comme un autre dans lequel il est facile de récupérer les données que tu souhaites.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Par défaut
    Merci pour vos réponse...
    Oui je peux faire comme ca , avec le mode enregistreur, le problème c'est que la ligne de données que je veux récupérer dans le fichier .Csv n'est pas toujours à la meme place... Je souhaite récupérer la dernière ligne remplie...
    Si je le fais avec le mode enregistreur, je vais toujours récupérer la meme !? non?

    Encore merci a vous
    Matthieu

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Une fois ton csv ouvert dans Excel tu peut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dl=range("A"&rows.count).end(xulp).row
    Pour récupérer le numéro de ta dernière ligne, et ensuite tu peux la copier:

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ou faire les deux en même temps.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & Rows.Count).End(xlUp).EntireRow.Copy

Discussions similaires

  1. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  2. fichier csv par macro
    Par jnmab dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/12/2007, 23h31
  3. macro à l'ouverture d'un fichier ".csv"
    Par Tibaldus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/09/2007, 11h36
  4. [Macro]exporter une table vers un fichier.csv
    Par samca dans le forum IHM
    Réponses: 2
    Dernier message: 24/04/2007, 21h25
  5. [Macro] ouverture d'un fichier csv par macro différent du double-clic
    Par Caro-Line dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/04/2007, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo