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 :

Diviser un fichier en plusieurs autres plus petits


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 19
    Par défaut Diviser un fichier en plusieurs autres plus petits
    Bonjour à toutes et à tous. Je travail dans une boite qui veut migrer des données d'un logiciel à un autre (changement de prestataire). L'ancien prestataire m'a transmis des fichiers csv de 1046105 lignes (j'arrive à le lire grâce à Excel 2007). En fait pour faciliter l'intégration (l'importation) dans le nouveau logiciel j'aimerais divisier ce fichiers en plusieurs de 40000 lignes par exemples. Ma question est la suivante je ne sais pas comment m'y prendre (raccourci clavier ou autre). Je vous remercie par avance pour tous les conseils que vous me communiquerez.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    salut,

    si tu utilises Excel 2007, tu as l'ensemble des lignes visibles.

    Un bout de code VBA fera l'affaire a mon avis
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 19
    Par défaut
    Je connais pas trop vba pourriez vous me communiquez un fichier avec le code à réaliser. Je vous en remercie par avance.

  4. #4
    Membre très actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2010
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2010
    Messages : 149
    Par défaut
    Dans un module tu créer un code VBA qui te copie une plage de cellule, le tout dans une boucle qui teste si la cellule suivante contient des informations

    Ca serait quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    While Cells(i,1) <> ""
    'Selection de la plage de colonne
    Range(Cells(i, 1), Cells(i+4000, 10)).Select
    'Copie de la selection
        Selection.Copy
    'Ouverture d'un fichier préalablement créér
        Set classeurDest = Application.Workbooks.Open(Application.GetOpenFilename, , True)
    'Selection de la feuille 1    
    classeurDest.Sheets("Feuil1").Select
    'Collage de la plage de cellule
        ActiveSheet.Paste
    i = i+4000
    A adapter selon le nombre de colonne que tu as et la structure du fichier Excel

  5. #5
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 19
    Par défaut
    merci je vais tester ça.

Discussions similaires

  1. Remplacer une chaîne par une autre plus petite
    Par qqoos dans le forum Cobol
    Réponses: 6
    Dernier message: 08/05/2009, 19h24
  2. Insolite ? fichier access plus petit
    Par Luisito31 dans le forum Access
    Réponses: 7
    Dernier message: 06/06/2008, 14h36
  3. Diviser un fichier XML en plusieurs fichiers XML avec XSLT
    Par bobkorn dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/04/2008, 13h13
  4. [XSL] gestion de dates, date plus petite qu'une autre.
    Par Caille Rotie dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/01/2006, 12h01
  5. [XSLT] Diviser un fichiers xml en plusieurs pages html
    Par thibaut06 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/04/2005, 17h56

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